快递有条件要求?
Conditional require in express?
我正在开发中使用 reload 包。
保存在package.json
的devDependancies
下。
在我的 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)
我知道我可以 skip the "pruning" part,但我更愿意在生产中剥离 reload
模块的加载。
如何有条件地导入或要求包?
一般规则是将导入放在顶部,但您不必这样做
if (process.env.NODE_ENV !== 'production') {
require('reload')(server, app)
}
应该可以。
我正在开发中使用 reload 包。
保存在package.json
的devDependancies
下。
在我的 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)
我知道我可以 skip the "pruning" part,但我更愿意在生产中剥离 reload
模块的加载。
如何有条件地导入或要求包?
一般规则是将导入放在顶部,但您不必这样做
if (process.env.NODE_ENV !== 'production') {
require('reload')(server, app)
}
应该可以。