【问题标题】:Webpack.mix, vue.js - compilation parametersWebpack.mix、vue.js——编译参数
【发布时间】:2018-05-19 13:58:23
【问题描述】:

我有一个用于编译 javascript 和 scss 的 webpack.mix.js 文件(laravel mix)。它运作良好,但我需要一个动态参数。现在我有:

//let result = 'https://www.web1.com/';
let result = 'https://stage.web1.com/';

    output: {
        publicPath: result,
        chunkFilename: 'js/[name].js'
    },

这很好用,但是当我在 localhost/stage/live 版本之间切换时,我必须手动更改参数。

我想做的是跑:

npm run local
npm run stage
npm run live

路径参数会自动插入。

现在,npm run prod 执行以下操作:

cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

如何在最后一行中插入参数?

【问题讨论】:

  • 只要相应地设置NODE_ENV,就可以使用process.env.NODE_ENV
  • @Ohgodwhy 谢谢。 laravel mix 不是在某处使用 ENV 吗?我的意思是“生产”或“开发”对某些行动不重要吗?可以随意换成“舞台”吗?

标签: webpack vue.js laravel-mix


【解决方案1】:

扩展@Ohgodwhy 的评论:

let result = process.env.NODE_ENV == "production" ?
  'https://www.web1.com/' :
  'https://stage.web1.com/'

【讨论】:

  • 杰夫,谢谢我正在测试。它似乎工作。我只是担心在转译过程中的某个地方是否没有使用“生产”作为参数。
  • 它在你的npm run prod 命令中,它是第一件事:NODE_ENV=production。据我所知,Mix 不会在幕后的任何地方使用它,它只是在你的 webpack 编译中使用,所以如果你需要,你可以有不同的 ie。 devstageproduction.
猜你喜欢
  • 2018-06-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2019-03-23
  • 2022-01-27
  • 2017-11-14
  • 2018-10-14
  • 2018-03-30
相关资源
最近更新 更多