angularjs - Webpack模式生产NODE_ENV仍然未定义

标签 angularjs node.js webpack

我正在尝试使用 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 选择它!这不可能吗?

最佳答案

If I hardcode it to "production" it does work, but I want to be able to select it via webpack --mode! Isn't that possible?

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

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

关于angularjs - Webpack模式生产NODE_ENV仍然未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51534968/

相关文章:

javascript - 图像未在 reactjs 中加载

javascript - Angular JS循环遍历 Controller 中的多维数组

javascript - 在 Angular.js 中使用路由时出现 404 错误

javascript - MySQL 查询由于某种原因未执行

webpack - 在localhost子域上运行Create React App时无效的Host header

twitter-bootstrap - Angular 4 CLI,WebPack,为整个网站动态切换 Bootstrap 主题

javascript - Angularjs: 'controller as syntax' 和 $watch

AngularJs console.log "$q is not defined"

javascript - Socket.io 和 Express 不发送数据

javascript - 使用 Axios 时出错,但在 Postman 中响应正确