vue中Npm run build 根据环境传递参数方法来打包不同域名

项目开发中,前端在配置后端api域名时很困扰,常常出现:

本地开发环境: api-dev.demo.com

测试环境: api-test.demo.com

线上生产环境: api.demo.com,

这次是在Vue.js项目中打包,教大家个方法:

使用 npm run build -- xxx   ,根据传递参数xxx来判定不同的环境,给出不同的域名配置。

1.项目中/config/dev.env.js修改:

新增:HOST: ‘"dev"‘


1

2

3

4

5

6

7

‘use strict‘

const merge = require(‘webpack-merge‘)

const prodEnv = require(‘./prod.env‘)

module.exports = merge(prodEnv, {

 NODE_ENV: ‘"development"‘,

 HOST: ‘"dev"‘

})

2.项目中/config/prod.env.js修改:

获取传递进来的参数:


1

2

3

4

5

6

7

‘use strict‘

let HOST = process.argv.splice(2)[0] || ‘prod‘;

console.log(HOST);

module.exports = {

 NODE_ENV: ‘"production"‘,

 HOST: ‘"‘+HOST+‘"‘

}

3.项目中ajax封装的地方修改:


1

2

3

4

5

6

7

8

9

10

/**

** 设置API接口域名

**/

let apiUrl = ‘‘;

// 根据 process.env.HOST 的值判断当前是什么环境

// 命令:npm run build -- test ,process.env.HOST就设置为:‘test‘

let HOST = process.env.HOST;

HOST = HOST === ‘prod‘ ? ‘‘ : ‘-‘ + HOST;

apiUrl = http://api+HOST+‘.demo.com‘;

axios.defaults.baseURL = apiUrl;

4.最后敲命令:

npm run build -- test

注意–是2个横杠, 后面跟参数,这样  process.env.HOST 就获取到参数  ‘test‘  了,


1

apiUrl = http://api-test.demo.com

若线上prod发布打包,npm run build -- prod


1

apiUrl = http://api.demo.com

文章内容转自: https://www.jb51.net/article/137355.htm

原文地址:https://www.cnblogs.com/mozhaocong/p/10441777.html

时间: 2024-11-05 16:05:16

vue中Npm run build 根据环境传递参数方法来打包不同域名的相关文章

Vue中npm run build报“Error in parsing SVG: Unquoted attribute value”

自己做的一个Vue项目,在打包时老是报这个错误 # Error in parsing SVG: Unquoted attribute value 查了查网上说的,都说报错原因是压缩和抽离CSS的插件中只允许 SVG 使用双引号 就是项目中外部引入的CSS文件里的SVG只能是双引号 我找了好久,这可把我坑坏了... 想想那段时间真是难受... 后来我找到了,分享一下,让大家快点脱坑... 首先,如果你项目中使用了mui的话应该在这里改 找到mui文件下的iconfont.css文件 # mui/c

vue 关于npm run build 的小问题

vue项目使用npm run build命令进行打包操作,打包之后试运行报错,报错为: 且命令行警告信息为: 解决办法: 找到项目目录下的config文件夹里的index.js文件,将build对象下的assetsPublicPath中的"/",改为"./"即可,就在前面加个点就可以了, 再次运行命令行: npm run build,将打包好的dist文件放到本地服务器下,浏览器打开对应地址即可. PS: 查看打包后dist 文件是否可以正常运行有一个前提,需要将d

vue中npm run dev运行项目自动打开浏览器

npm run dev运行项目自动打开浏览器设置自动打开浏览器 // 各种设备设置信息      host: 'localhost', //主机名      port: 8080, // 端口号(默认8080)      autoOpenBrowser: false, //是否自动打开浏览器 //想让浏览器自动打开,只需将false改为true即可,为防止端口号冲突,这里也可以随意更改端口号 autoOpenBrowser: true,  //是否默认打开浏览器,默认是false,改为true即

在vue项目npm run build后,index.html中引入css和js 报MIME type问题

问题: 1.在vue项目中,build打包后,index页面打开会报错, MIME type ('text/html') ;报错内容:because its MIME type ('text/html') is not a supported stylesheet MIME type2.控制台报错:报错内容:http://127.0.0.1:5500/static/css/app.04f46711e76646577281177c721d6432.css 这个地址Cannot GET 解决思路:

关于vue的npm run dev和npm run build

├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-server.js │ ├─utils.js │ ├─vue-loader.conf.js │ ├─webpack.base.conf.js │ ├─webpack.dev.conf.js │ ├─webpack.prod.conf.js │ └─webpack.test.conf.js ├─config │ ├─dev.env.js │ ├─index.js

VUE-CLI Vue安装及开发,npm run build无法查看项目的问题

Vue-cli 本地安装vue项目 需要安装node.js,用node命令行npm的方式安装Vue 步骤: 1.进入项目地址安装 npm install vue-cli -g 2.初始化一下 ESlink e2e等是测试工具,经常会报一些vue语法等错误,有时会比较麻烦,可以关闭 3.再安装依赖 npm install npm安装建议挂VPN,不然很慢而且容易出错,不能挂VPN的话可以用cnpm的方式安装国内镜像 4.安装成功直接打开了首页 5.运行 npm run dev 6.项目编译 npm

npm run build根据不同参数打包不同环境url

config文件夹下 dev.env.js中修改代码 'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', HOST: '"dev"' }) prod.env.js中修改代码   HOST为截取到的参数 'use stri

vue-cli 项目中绝对路径引用的相关资源 npm run build 后 打开页面报404错误

在项目中.通过vue-cli 搭建的项目,npm run dev时,以绝对路径引用的相关资源在npm run build 后,页面打开报相关资源404错误: 解决方法如下: 打开build/utils.js,在图中相应位置加入红框内容,其中值可能会有不同,若不同,自己配置成相应的即可. 原文地址:https://www.cnblogs.com/xzma/p/9162584.html

Vue - 如何使用npm run build后的dist文件夹

脚手架vue cli生成项目后,使用 npm run build 生成了一个dist文件夹(应该是distribution的缩写) 只要放在http服务器上就可以运行. 使用一句python命令可以搭建http服务器 python -m http.server --directory . 原文地址:https://www.cnblogs.com/allen2333/p/10257640.html