используя PKG с приложением featherjs - PullRequest
0 голосов
/ 30 августа 2018

Кто-нибудь когда-нибудь пробовал использовать 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 Ответ

0 голосов
/ 31 августа 2018

Ошибка исходит от node-config , используемого @ feathersjs / configuration , который пытается загрузить 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]);
});
...