最近在學習Vue,使用到webpack的時候,出現了錯誤,多是3和4的版本問題javascript
安裝好webpack-dev-server
後,須要在package.json
的scripts
增長代碼 "dev": "webpack-dev-server"
java
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack-dev-server" },
而後此時報錯了~~~The CLI moved into a separate package: webpack-clinode
一大堆,一開始沒看懂,搜也沒搜明白,最後發現好簡單,實際就是安裝webpack-cli就行了jquery
看到這個有點懵,我都安裝了的,而後也能運行起來,結果就是報這個錯。webpack
因爲
jquery.placholder.min.js
將UMD用做加載策略,所以它認識到它是經過require
- 必需的,並嘗試以相同的方式要求使用jQuery:web
"object"==typeof module&&module.exports?require("jquery"):jQuery
Webpack查看require("jquery")
並嘗試捆綁jQuery庫(在node_modules中不存在)
解決方案是將jQuery做爲外部添加到您的webpack.config.js
:json
{ ... externals: { // require("jquery") is external and available // on the global var jQuery "jquery": "jQuery" } }
當模塊標記爲外部模塊時,Webpack不會捆綁該模塊,而是使用全局變量。webpack-dev-server
參考資料:webpack Can't resolve 'jquery'.ide
em。。。。上邊的並不合適。。。學習
仍是使用ProvidePlugin的吧
自動加載模塊,而沒必要處處 import 或 require 。
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })
而後把import的地方幹掉...
參考資料:webpackjs ProvidePlugin.