【发布时间】:2017-05-23 18:30:57
【问题描述】:
问题: 在脚本中: 我们要检查环境。变量 {dev/test/mock} 并基于它运行以下脚本。
如果 $mock 为真,运行 script start-mock else 继续到达真正的测试服务器
场景 1: 我们在 package.json 脚本部分添加了聚合的命令
e.g. : "test": "export NODE_ENV=dev; grunt", [on linux]
which is "test": "(SET NODE_ENV=dev) & (grunt)", [on win32]
场景 2: 可能是包中的 bat/sh 脚本,我们从 package.json 中调用它们
方案 3:(永久解决方案) 不确定它是否已经可用
类似
get arguments from script section: to give flexibility and freedom to end user.
e.g. : "test": "solution.env NODE_ENV=dev; solution grunt"
我们可以在哪里处理脚本(使用 process.platform 输入)取决于操作系统。
"start-pm2": "if \"%MOCK%\" == \"true\" (npm run mock & pm2 start process.json --env test) else (pm2 start process.json)", [windows] for linux if..fi
【问题讨论】:
-
我们可以在所有平台上运行命令吗?感谢环境变量,但任何想法都有跨平台命令实现
标签: node.js package.json