Webpack模式生产NODE_ENV仍未定义

时间:2018-07-26 09:02:17

标签: angularjs node.js webpack

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

的设置似乎
process.env.NODE_ENV 

如果通过“ webpack --mode production”运行webpack仍未定义。我不明白如何使加载程序评估正确的模式以提取单独文件中的ccs:

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选择它!那不可能吗?

2 个答案:

答案 0 :(得分:2)

  

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

不幸的是,这是许多加载程序/插件作者的抱怨之一。未根据您所运行的模式类型设置NODE_ENV。这里的问题之一是,进程开始后就无法更新节点选项/标志。

您必须手动设置cross-env NODE_ENV=production webpack --mode(cross-env是一个环境设置器,可在Windows和Unix上使用)。

答案 1 :(得分:0)

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