代码之家  ›  专栏  ›  技术社区  ›  Vortilion

Webpack模式生产节点环境仍未定义

  •  0
  • Vortilion  · 技术社区  · 7 年前

    我正在尝试使用webpack 4和教程。我可以安排一个项目,但是

    process.env.NODE_ENV 
    

    如果通过“webpack--mode production”运行webpack仍然未定义。我不知道如何使加载程序计算正确的模式来提取单独文件中的css:

    const styles = {
    test: /\.(sa|sc|c)ss$/,
    use: [
        {loader: process.env.NODE_ENV !== 'production' ? 'style-loader' : miniCssExtractPlugin.loader},
        {loader:'css-loader'},
        {loader:'sass-loader'}
    ]
    

    };

    如果我硬编码到“生产”,它确实工作,但我想能够选择它通过网页包-模式!不可能吗?

    2 回复  |  直到 7 年前
        1
  •  3
  •   PlayMa256    7 年前

    如果我硬编码到“生产”,它确实工作,但我想能够选择它通过网页包-模式!不可能吗?

    不幸的是,这是许多加载程序/插件作者的抱怨之一。节点环境不是基于正在运行的模式类型设置的。这里的一个问题是,在进程已经启动之后,无法更新节点选项/标志。

    你必须手动设置 cross-env NODE_ENV=production webpack --mode (cross env是一个env setter,在windows和unix上工作)。

        2
  •  0
  •   Vilsad P P    7 年前

    您可以尝试使用SET NODE_ENV=production(如果您是从linux执行此操作,则导出而不是SET)

    推荐文章