【问题标题】:Webpack mode production NODE_ENV still undefinedWebpack 模式生产 NODE_ENV 仍然未定义
【发布时间】:2019-01-03 05:19:05
【问题描述】:

我正在尝试使用 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'}
]

};

如果我将它硬编码为“生产”,它确实可以工作,但我希望能够通过 webpack --mode 选择它!这不可能吗?

【问题讨论】:

    标签: angularjs node.js webpack


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果我将它硬编码为“生产”,它确实可以工作,但我希望能够通过 webpack --mode 选择它!这不可能吗?

      不幸的是,这是许多加载器/插件作者的公司之一。 NODE_ENV 不是根据您正在运行的模式类型设置的。这里的问题之一是在进程已经启动后无法更新节点选项/标志。

      您必须手动设置cross-env NODE_ENV=production webpack --mode(cross-env 是一个环境设置器,适用于 windows 和 unix)。

      【讨论】:

        猜你喜欢
        • 2019-11-19
        • 2021-09-11
        • 2018-03-26
        • 1970-01-01
        • 1970-01-01
        • 2017-05-16
        • 2017-08-18
        • 2012-09-01
        • 2016-03-18
        相关资源
        最近更新 更多