Не удается найти модуль "./static" при сборке и запуске в рабочей среде - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь создать и запустить проект Forge-RCDB в рабочей среде. Я работаю в Windows Powershell с помощью следующих команд:

npm run build-prod
$env:NODE_ENV ="production"
npm start

но я получил следующие ошибки после npm start

> node bin/start.js

internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module './static'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\Users\dyang\Documents\forge-rcdb.nodejs\bin\start.js:15:3)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! forge-rcdb@4.0.0 start: `node bin/start.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the forge-rcdb@4.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Я пытался сделать npm install node-static но ошибка все та же. Может кто-то помочь мне с этим? для чего нужен ./static?

Ответы [ 2 ]

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

использование npm run build-server вместо npm run build-prod решает проблему. Не уверен, что другие потенциальные эффекты.

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

./static здесь относится к bin/static и находится там, где излучает внешний интерфейс после построения их с npm run build-prod. Ошибка, с которой вы столкнулись, была не из-за отсутствия node-static или какой-либо конкретной зависимости в этом отношении.

Проверьте вывод консоли при запуске npm run build-prod и убедитесь, что каталог bin/static со встроенными выходами внутри генерируется правильно. Отредактируйте свой вопрос или комментарий ниже с вашими выводами, и я обновлю свой ответ соответственно.

Edit: Проверил себя и да, оригинальный сценарий запуска производства пропустил бит npm run build-server. Подниму пиар, чтобы это исправить.

Итак, правильная команда для запуска в рабочей среде:

npm run build-server && npm run build-prod && NODE_ENV=production npm start

И обязательно настройте все переменные среды перед запуском, как требуется в config/production.config.js

...