Используя PKG с приложением featherjs
Кто-нибудь когда-либо пробовал использовать pkg
с featherjs
до? У меня проблемы с тем, чтобы заставить его работать.
Я получаю следующую ошибку при запуске моего исполняемого файла:
WARNING: No configurations found in configuration directory:/../project/config
WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.
pkg/prelude/bootstrap.js:1172
throw error;
^
TypeError: root path required
at Function.serveStatic [as static] (/snapshot/../project/node_modules/serve-static/index.js:40:11)
Не уверен, куда идти отсюда, если у кого-то есть какое-либо руководство.
"bin": "src/index.js",
"scripts": {
"test": "npm run eslint && npm run mocha",
"dev": "./node_modules/nodemon/bin/nodemon.js src/",
"eslint": "eslint src/. test/. --config .eslintrc.json",
"mocha": "mocha test/ --recursive --exit",
"start": "node src/",
"pkg": "pkg . -t node9-macos-x64 --out-path pkg"
},
"pkg": {
"assets": [
"src/**/*",
"public/**/*",
"config/**/*",
"node_modules/config/**/*.*"
],
"scripts": [
"src/**/*.js",
"config/**/*.json"
]
},
1 ответ
Ошибка исходит от node-config, используемой https://docs.feathersjs.com/api/configuration.html, которая пытается загрузить config/default.json
из папки запущенного приложения, а не из пакета в комплекте. Вы можете попробовать построить с переменной окружения NODE_CONFIG, установленной на содержимое config/defualt.json
или удалить app.configure(configuration())
а также app.set
параметры конфигурации, в которых нуждается ваше приложение, например, требуя config/default.json
(который также должен работать в упакованной среде):
const config = require('../config/default.json');
Object.keys(config).forEach(key => {
app.set(key, config[key]);
});