package.json文件 scripts命令设置全局变量的疑问

394 阅读1分钟

node package.json文件 scripts命令设置全局变量的疑问...

今天在项目中遇到,需要修改package.json文件的一个字段,动态修改,那就需要全局的变量来区别开来,但是有个疑问,以往知道 & 符号就是并发执行命令,&&是按照顺序执行命令;

如果要设置变量的话,在 && 前是可以在js文件中通过process.env拿到变量,也就是node scripts/edit_package.js 中是可以拿到的,因为前面设置了变量,如果后面出现了&&,在&&之后的文件中如果需要使用全局变量,就得再设置一下,否则获取不到变量,是undefined。但是还必须使用&&,因为要按顺序执行。

下面代码,TARGET设置了两次。

"scripts": {
   "start": "...start",
   "build": "...build",
   "eslint": "eslint --ext .js --ext .jsx src/js",
   "prepubtest:pre": "cross-env TARGET=pre node scripts/edit_package.js && rocketact-scripts build && TARGET=pre node scripts/upload_oss.js",
},

来吧,兄弟们进来交流下,留下你们的经验~~~