根据Node版本将标志传递给Node.js的最佳方法?

时间:2016-09-04 15:51:47

标签: javascript node.js npm

当Node.js为>6.3时,我需要传递--preserve-symlinks

我有大约50个以上package.json的模块:

"scripts": {
  "gulp": "./node_modules/gulp/bin/gulp.js",
  "start": "node main/server.js"
},

最好的方法是什么?如果该标志在某天开启我的默认值,我也需要更新它。

我想在这种情况下我需要放弃npm运行脚本,只需要一个脚本来确定要使用的版本。

类似的问题:https://superuser.com/questions/691133/always-run-node-with-the-harmony-flag

PM2有一个node_args选项:https://futurestud.io/blog/pm2-how-to-start-your-app-with-node-js-v8-arguments

1 个答案:

答案 0 :(得分:-1)

试试这个:

"scripts": {
  "gulp": "./node_modules/gulp/bin/gulp.js",
  "start": "node `node -v | sed 's/v//' | awk '{if($1 > 6.3) print \"--preserve-symlinks\"}'` main/server.js"
},