Условно требовать в экспресс? - PullRequest
0 голосов
/ 16 мая 2018

Я использую пакет reload в разработке.

Сохраняется в devDependancies в package.json.

По моему app.js у меня есть:

if (process.env.NODE_ENV !== 'production') {
    reload(server, app)
}

Heroku удаляет все пакеты в devDependancies после сборки, и мой import reload from 'reload' выдает ошибку. Я использую babel, чтобы построить его в производстве.

Журналы Heroku:

Error: Cannot find module 'reload'
2018-05-16T01:00:46.213772+00:00 app[web.1]:     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
2018-05-16T01:00:46.213773+00:00 app[web.1]:     at Function.Module._load (internal/modules/cjs/loader.js:497:25)
2018-05-16T01:00:46.213776+00:00 app[web.1]:     at Module.require (internal/modules/cjs/loader.js:626:17)

Я знаю, что могу пропустить часть "обрезки" , но вместо этого предпочел бы отменить загрузку модуля reload в производство.

Как мне условно импортировать или потребовать пакет?

1 Ответ

0 голосов
/ 16 мая 2018

Общее правило - поставить импорт на первое место, но вам не нужно, чтобы

if (process.env.NODE_ENV !== 'production') {
    require('reload')(server, app)
}

работало.

...