我正在将我的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",
..
}
我也尝试过设置OS环境变量,但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"]
}
提前致谢