NPM Run Build 总是构建生产而不是开发
Posted
技术标签:
【中文标题】NPM Run Build 总是构建生产而不是开发【英文标题】:NPM Run Build Always Builds Production and Never Development 【发布时间】:2019-08-01 05:46:42 【问题描述】:在我拥有的继承项目中,我正在尝试获取构建命令来构建Production
以外的版本。
我试图更改package.json
中script
部分中的别名以传递额外的变量,例如--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/
。
想法?
【问题讨论】:
【参考方案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
文件中以上是关于NPM Run Build 总是构建生产而不是开发的主要内容,如果未能解决你的问题,请参考以下文章
vue-cli构建项目 npm run build后应该怎么运行在本地查看效果
NextJS 自定义服务器在使用“npm run build”构建后出现 CORS 错误
npm run build 不会在 elasticbeanstalk 上创建构建目录