【问题标题】:NPM Run Build Always Builds Production and Never DevelopmentNPM Run Build 总是构建生产而不是开发
【发布时间】:2019-08-01 05:46:42
【问题描述】:

在我拥有的继承项目中,我正在尝试获取构建命令来构建Production 以外的版本。

我试图更改package.jsonscript 部分中的别名以传递额外的变量,例如--dev--configuration=dev,但无济于事。


项目有这些json数据文件:

 env.dev
 env.development
 env.production

package.json 具有此构建别名 build:dev,我运行 npm run build:dev

"scripts": {
    "start": "NODE_ENV=dev && react-scripts start",
    …
    "build:dev": "npm run build --dev --configuration=dev && react-scripts build"
}

这工作和构建,但仅用于生产,我在查看结果文件时验证。


如果我从目录中删除文件 env.production 并运行构建命令,它会失败并显示:

Creating an optimized production build...
Failed to compile.

Module not found: Error: Can't resolve 'polyfills' in 'C:\Work\MyProj\WebSiteName\src'

这只是告诉我,它可以在env.production 文件中找到polyfills 的别名,用于位置NODE_PATH=src/

想法?

【问题讨论】:

    标签: node.js npm package.json npm-scripts


    【解决方案1】:

    你需要设置环境。变量,就像你在调用构建命令之前在“开始”中所做的那样。

    "build:dev": "NODE_ENV=dev npm run build --dev --configuration=dev && react-scripts build"

    【讨论】:

    • 在 Windows 上使用 "build:dev": "SET NODE_ENV=dev npm run build --dev --configuration=dev && react-scripts build" - 即在 NODE_ENV 前面加上 SET
    • 设置NODE_ENV 不会影响它,无论是使用env NODE_ENV,在运行构建之前调用export NODE_ENV=dev,还是将其放入.env 文件中
    猜你喜欢
    • 2019-03-19
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2013-01-08
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    相关资源
    最近更新 更多