有条件要求快递?

时间:2018-05-16 01:36:03

标签: node.js express heroku production-environment

我正在开发中使用reload包。

它保存在devDependancies的{​​{1}}下。

package.json我有:

app.js

Heroku在构建后删除了if (process.env.NODE_ENV !== 'production') { reload(server, app) } 下的所有包,而我的devDependancies正在抛出错误。我正在使用import reload from 'reload'在生产btw中构建它。

Heroku日志:

babel

我知道我可以skip the "pruning" part,但更愿意在生产中删除加载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) 模块。

如何有条件地导入或需要包裹?

1 个答案:

答案 0 :(得分:2)

一般规则是将导入放在顶部,但不必

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

应该有用。