[英]How to pass environment variables to pkg(node js)?
我正在将我的 Node.js 项目打包成一个可执行文件。 为此,我正在使用“pkg”工具( https://www.npmjs.com/package/pkg#detecting-assets-in-source-code )
pkg -t node6-linux-x64 . -d
“package.json”(使用 better-npm-run):
"env": {
"NODE_ENV": "development",
"NODE_PATH": "../shared/config:../shared/lib:./config:./lib:./relay",
..
}
我也尝试过设置操作系统环境变量,但 pkg 也不接受。
export NODE_PATH=/path/from/root/shared/config:/path/from/root/shared/lib:/path/from/root/config:/path/from/root/lib:/path/from/root/relay
OR
export PATH=${PATH}:/path/from/root/shared/config:/path/from/root/shared/lib:/path/from/root/config:/path/from/root/lib:/path/from/root/relay
我也尝试过以下解决方案,它确实有助于解决一些警告,
"pkg":{
"scripts": ["config/**/*.js", "lib/**/*.js", "relay/server/**/*.js", "../shared/config/**/*.js", "../shared/lib/**/*.js"]
}
但我的应用程序使用本地 requires(),因此它会创建更多此类警告。 由于我的应用程序很复杂,因此很难更改所有本地要求。
访问“脚本”(package.json)中的父目录也是正确的方法吗?
"pkg":{
"scripts": ["../shared/config/**/*.js", "../shared/lib/**/*.js"]
}
提前致谢
所以在这里你只希望在你的脚本运行之前设置这两个环境变量,一个简单的方法是这样的:
NODE_ENV=development NODE_PATH=../shared/config:../shared/lib:./config:./lib:./relay pkg -t node6-linux-x64 . -d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.