webpack踩坑 无法解析jquery及webpack-cli
果冻栋吖 人气:1最近在学习Vue,使用到webpack的时候,出现了错误,可能是3和4的版本问题
webpack-dev-server
安装好webpack-dev-server
后,需要在package.json
的scripts
增加代码 "dev": "webpack-dev-server"
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server"
},
然后此时报错了~~~The CLI moved into a separate package: webpack-cli
一大堆,一开始没看懂,搜也没搜明白,最后发现好简单,实际就是安装webpack-cli就好了
无法解析jquery Module not found: Error: Can't resolve 'jquery' in 'F:\Study\webpack-study\src'
看到这个有点懵,我都安装了的,然后也能运行起来,结果就是报这个错。
由于
jquery.placholder.min.js
将UMD用作加载策略,因此它认识到它是通过require
- 必需的,并尝试以相同的方式要求使用jQuery:
"object"==typeof module&&module.exports?require("jquery"):jQuery
Webpack查看require("jquery")
并尝试捆绑jQuery库(在node_modules中不存在)
解决方案是将jQuery作为外部添加到您的webpack.config.js
:
{
...
externals: {
// require("jquery") is external and available
// on the global var jQuery
"jquery": "jQuery"
}
}
当模块标记为外部模块时,Webpack不会捆绑该模块,而是使用全局变量。
参考资料:webpack Can't resolve 'jquery'.
em。。。。上边的并不合适。。。
还是使用ProvidePlugin的吧
自动加载模块,而不必到处 import 或 require 。
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
然后把import的地方干掉...
参考资料:webpackjs ProvidePlugin.
加载全部内容