vue4.X 配置build打包不同环境不同域名的处理

11 篇文章 0 订阅

1、package.json 里 修改 --mode 后面 是对应下面的 文件 buildtest 是执行 npm run buildtest

"scripts": {

"buildtest": "vue-cli-service build --mode test",

"build": "vue-cli-service build --mode prod",

},

2、这时需要创建 2个文件,说明一下,NODE_ENV 要配置为'production' 因为保持和线上打包hash一样,否则打出的是 1.js 2.js.......VUE_APP_CURRENTMODE是自已定义变量 格式为VUE_APP_XXXX  定义这个是为了区分 什么环境 用什么域名去打包。

.env.test 代码为

NODE_ENV = 'production'
VUE_APP_CURRENTMODE = 'test'

.env.prod 代码为

NODE_ENV = 'production'
VUE_APP_CURRENTMODE = 'production'

3、可以全局配置域名的地方 正式和测试打包不同的域名。

let host = ''
if (process.env.VUE_APP_CURRENTMODE === 'production')  {
    host = 'www.XXXXX.com'
} else if (process.env.VUE_APP_CURRENTMODE === 'test') {
   host = 'test.XXXXX.com'
}

4、如果打包 不打css 那就要配置一下  vue.config.js 了

css: {
    extract: true  // 是否使用css分离插件 ExtractTextPlugin
  },

好了。配置完成 !!!

npm run build 正式打包

npm run buildtest 测试打包

Vue项目中,可以通过配置不同环境变量来根据不同环境配置域名。这样在打包时,可以根据不同环境自动切换域名。 首先,在Vue项目的根目录下,找到`config`文件夹,里面有一个`index.js`文件,这是项目的配置文件。 在`index.js`文件中,可以找到`module.exports`对象,里面定义了一些配置项。我们需要添加一个新的配置项来设置不同环境下的域名。 以下是一个示例: ```javascript module.exports = { // ... production: { // 生产环境配置 domain: 'www.example.com' }, development: { // 开发环境配置 domain: 'dev.example.com' }, // ... } ``` 在上面的示例中,我们添加了两个配置项,分别是`production`和`development`。你可以根据需要添加更多的配置项,比如测试环境等。 接下来,在你的代码中,可以通过访问`process.env`来获取当前环境配置。例如,你可以在API请求中使用这个配置项: ```javascript const apiDomain = process.env.NODE_ENV === 'production' ? process.env.production.domain : process.env.development.domain; axios.get(`http://${apiDomain}/api/data`) .then(response => { // 处理响应 }) .catch(error => { // 处理错误 }); ``` 在上面的示例中,我们通过判断`process.env.NODE_ENV`的值来确定当前的环境,然后根据不同环境获取对应的域名配置。 最后,在打包时,可以使用不同环境变量来指定要打包环境。比如,你可以使用以下命令来打包生产环境的代码: ```shell NODE_ENV=production npm run build ``` 这样就可以根据不同环境配置域名,并在打包时自动切换域名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值