Node.js - Создать исполняемый файл с PKG - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть приложение в node.js, и теперь я пытаюсь создать исполняемый файл для запуска приложения без всех файлов проекта, но у меня возникают проблемы при попытке использовать pkg (https://github.com/zeit/pkg#detecting-assets-in-source-code).

В package.json Я добавляю это:

"pkg": {
"scripts": "public/js/*.js",
"assets": [
  "views/**/*"
],
"targets": "node6"

},

В консоли я запускаю эту команду, и у меня нет ошибок в этом процессе, и я создаю исполняемый файл для 3 платформ pkg index.js --output

Когда я запускаю исполняемый файл, он запускается без ошибок, а когда я захожу в браузер, он возвращает мне эту ошибку:

Error: Failed to lookup view "login" in views directory "/snapshot/Picking/views"
at EventEmitter.render (/snapshot/Picking/node_modules/express/lib/application.js:580:17)
at ServerResponse.render (/snapshot/Picking/node_modules/express/lib/response.js:1008:7)
at ServerResponse.app.use.res.render (/snapshot/Picking/index.js:0)
at index (/snapshot/Picking/controllers/loginController.js:0)
at Layer.handle [as handle_request] (/snapshot/Picking/node_modules/express/lib/router/layer.js:95:5)
at next (/snapshot/Picking/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/snapshot/Picking/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/snapshot/Picking/node_modules/express/lib/router/layer.js:95:5)
at /snapshot/Picking/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/snapshot/Picking/node_modules/express/lib/router/index.js:335:12)

В index.js у меня есть эта строка для доступа к папке представлений:

app.set("views", path.join(__dirname, 'views'));

Как мне решить эту ситуацию?

Спасибо

1 Ответ

0 голосов
/ 16 января 2019

Вы устанавливаете путь к активам в «сценарии», но вы должны установить этот путь в «активы», например:

"pkg": {
"assets": [
  "views/**/*",
  "public/js/*.js"
],
"targets": "node6"

потому что "скрипты" для файлов node.js. И ваше приложение не нашло js-файлов веб-интерфейса.

...