angularjs - Webpack 模式生产 NODE_ENV 仍然未定义
问题描述
我正在尝试使用 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 选择它!这不可能吗?
解决方案
如果我将它硬编码为“生产”它确实可以工作,但我希望能够通过 webpack --mode 选择它!这不可能吗?
不幸的是,这是许多加载器/插件作者的公司之一。NODE_ENV 不是根据您正在运行的模式类型设置的。这里的问题之一是在进程已经开始之后无法更新节点选项/标志。
您必须手动设置cross-env NODE_ENV=production webpack --mode
(cross-env 是一个环境设置器,适用于 Windows 和 unix)。
推荐阅读
- c - 如何写入目录C
- dataframe - Pyspark withColumn不返回数据框
- sql-server - 如何插入包含变量关系而不是记录的列
- grammar - ANTLR4 错误后正确继续解析部分
- sql - SQL Join Query for Solution for A(Table) selected and B(table) all Record
- mysql - 如何使用python将mysql数据库的列值存储在列表或目录中?
- angular6 - 如何动态更新 ng2-smart-table 的自定义部分?
- html - @media 当最大宽度更小时没有改变任何东西?
- coq - 在 Coq 中使用空格和花括号设置理论符号
- react-native - React Native 如何在“onPress”之后播放声音?