导入request
准系统webpack项目时,我收到三个警告消息。可以在GitHub上找到一个重现该错误的最小示例(run npm install
和npm start
)。
Critical dependency: the request of a dependency is an expression
我如何摆脱这个警告?
更多信息:
Webpack尝试require
静态解析呼叫以使捆绑最小。当库在require调用中使用变量或表达式时(例如require('' + 'nodent')
在的这些行中ajv
),Webpack无法静态解析它们并导入整个包。
我的理由是,这种动态导入在生产中是不希望的,并且最好保持代码无警告。那意味着我想要任何解决问题的解决方案。例如:
- 手动配置webpack导入所需的库,并防止发生警告。
- 将
hack.js
文件添加到我的项目中,该文件以某种方式覆盖了require调用。 - 升级我的库。
ajv-5.0.1-beta.3
有一个使警告静音的修复程序。但是,如果我想使用它,我必须等待,直到它被释放,然后直到har-validator
和request
释放后续更新。如果有一种方法可以强制har-validator
使用beta版的ajv
,那将解决我的问题。 - 其他
解决了
npm install request@2.79.0 --save
据的作者说
ajv
,这个问题很可能会在request
几周后的最新版本中得到解决。