webpack4

1堵未、使用快捷安裝時(shí),文件夾的名字不能是webpack,否則在安裝webpack時(shí),會(huì)報(bào)錯(cuò) Refusing to install package with name "webpack" under a package 因?yàn)榕cwebpack項(xiàng)目重名了?

?2、設(shè)置mode?

The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment. ?

npx webpack --mode development?

3、__dirname? Node.js 中掂名,__dirname?總是指向被執(zhí)行 js 文件的絕對(duì)路徑,所以當(dāng)你在?/d1/d2/myscript.js?文件中寫(xiě)了?__dirname啃炸, 它的值就是?/d1/d2?铆隘。 相反,./?會(huì)返回你執(zhí)行 node 命令的路徑南用,例如你的工作路徑膀钠。 有一個(gè)特殊情況是在?require()?中使用?./?時(shí),這時(shí)的路徑就會(huì)是含有?require()?的腳本文件的相對(duì)路徑裹虫。?

?4肿嘲、path.resolve 需要注意的是:如果在處理完所有給定的 path 片段之后還未生成絕對(duì)路徑,則再加上當(dāng)前工作目錄筑公。?

?5雳窟、?npm run build?代替npx webpack 通過(guò)向?npm run build?命令和你的參數(shù)之間添加兩個(gè)中橫線,可以將自定義參數(shù)傳遞給 webpack匣屡,例如:npm run build -- --colors封救。 ?

6、安裝webpack-cli之前捣作,要先安裝webpack npm install -D 安裝到dev開(kāi)發(fā)環(huán)境?

7誉结、解析css文件,使用style-loader和css-loader 在依賴于此樣式的文件中引入?import './style.css'券躁。當(dāng)該模塊運(yùn)行時(shí)惩坑,含有 CSS 字符串的?<style>?標(biāo)簽掉盅,將被插入到 html 文件的?<head>?中,最終是以style的方式引入?

8以舒、解析圖片和字體圖標(biāo) file-loader 和 url-loader 可以接收并加載任何文件趾痘,然后將其輸出到構(gòu)建目錄 如何使用圖標(biāo)字體?

9、CleanWebpackPlugin?--清除dist文件夾上一次的打包文件蔓钟,報(bào)錯(cuò)CleanWebpackPlugin is not a constructor 用法改變

const?{?CleanWebpackPlugin?}?=?require('clean-webpack-plugin')?

?new?CleanWebpackPlugin()?

http://www.reibang.com/p/0e99366ce796?

------------------------------------------ 進(jìn)階 ------------------------------------------?

10永票、模塊熱更新(?HMR) 它允許在運(yùn)行時(shí)更新各種模塊,而無(wú)需進(jìn)行完全刷新

?11奋刽、tree shaking?是一個(gè)術(shù)語(yǔ)瓦侮,通常用于描述移除 JavaScript 上下文中的未引用代碼(dead-code) 在package.json中設(shè)置?"sideEffects":?false 在webpack.config.js中設(shè)置mode:?'production' ?

12、uglifyjs-webpack-plugin報(bào)錯(cuò)佣谐,uglifyjs是js文件壓縮插件?

????1) 解決方案:重裝webpack webpack-cli,然后在重裝uglifyjs-webpack-plugin http://www.reibang.com/p/07a58c04be10?

?????2)ERROR in bundle.js from UglifyJs Unexpected token: keyword ?const? [bundle.js:100,2]?

????解決方案:將es6轉(zhuǎn)換成es5?

?????https://www.cnblogs.com/wangzisheng/p/9101467.html?

????3)可以使用快捷方式替代 --optimize-minimize?標(biāo)記將在后臺(tái)引用?UglifyJSPlugin?

?13方妖、Split CSS狭魂,將style文件單獨(dú)分離出來(lái),使用extract-text-webpack-plugin@next組件 https://www.webpackjs.com/plugins/extract-text-webpack-plugin/ http://www.reibang.com/p/e244c92f8292?

?1)報(bào)錯(cuò)Tapable.plugin is deprecated. Use new API on `.hooks` instead党觅,extract-text-webpack-plugin目前版本不支持webpack4?

?2)報(bào)錯(cuò):CssSyntaxError (2:1) Unknown word loader的引入順序雌澄,

?use:?['style-loader',?'css-loader']?

3)報(bào)錯(cuò):document is not defined style-loader和extract-text-webpack-plugin組件只能二選一,正確的配置如下?

?{ ????????????????

????????test:?/\.css$/, ????????????????

????????use:?ExtractTextPlugin.extract({ ????????????????????

????????????????use:?['css-loader'], ????????????????????

????????????????fallback:?'vue-style-loader' ???????????????

?????????})? ? ? ? ? ? ?

}?

14杯瞻、報(bào)錯(cuò)webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead?

解決:將公共的依賴模塊提取到已有的入口 chunk 中镐牺,webpack4用法有更新?

?https://blog.csdn.net/github_36487770/article/details/80228147?

15、懶加載就是按需加載魁莉,在第一次調(diào)用時(shí)睬涧,加載某個(gè)模塊 使用這種方法實(shí)現(xiàn)懶加載::import(/*?webpackChunkName:?'print'?*/?'./print').then(module?=>?{}?

16、緩存 使用緩存的原因:如果我們?cè)诓渴鹦掳姹緯r(shí)不更改資源的文件名旗唁,瀏覽器可能會(huì)認(rèn)為它沒(méi)有被更新畦浓,就會(huì)使用它的緩存版本 重新編譯時(shí),只有內(nèi)容改變和引用改變內(nèi)容模塊的模塊hash值會(huì)改變?

?17检疫、提取模板 用webpack打包node_modules里的插件 https://www.cnblogs.com/xieqian/p/10973039.html?

?18讶请、創(chuàng)建library?屎媳?夺溢??

19、shimming(填隙):處理不符合規(guī)范的模塊的方法 ?

1)polyfill(多邊形填充): Polyfilling 是由 RemySharp 提出的一個(gè)術(shù)語(yǔ)烛谊,它是用來(lái)描述復(fù)制缺少的 API 和API 功能的行為 Polyfill是一個(gè)js庫(kù)风响,主要撫平不同瀏覽器之間對(duì)js實(shí)現(xiàn)的差異 2)imports-loader,exports-loader使用方法?晒来?钞诡?郑现??

?20、安裝webpack-cli時(shí)報(bào)錯(cuò):Cannot find module 'webpack-cli'?

解決方案: npm install webpack-cli -g?

?21荧降、PWA:類似小程序的無(wú)需安裝接箫,即用即走的新技術(shù),谷歌開(kāi)發(fā)?

22朵诫、開(kāi)啟CSP網(wǎng)頁(yè)安全政策防止XSS(跨站腳本攻擊)攻擊 https://www.cnblogs.com/leaf930814/p/7368429.html ?

23辛友、vagrant是一個(gè)工具,用于創(chuàng)建和部署虛擬化開(kāi)發(fā)環(huán)境的 ?

24剪返、根據(jù)udms-web項(xiàng)目废累,搭建一個(gè)vue項(xiàng)目 包含功能:?

????1)打包時(shí),可以根據(jù)文件類型放到對(duì)應(yīng)的文件夾中 js文件放到j(luò)s文件夾下: ?output:?{ ????????filename:?'js/app.js' ????},?

????2)清空dist下的文件脱盲,除了用clean-webpack-plugin邑滨,還可以用rimraf插件

?????3)安裝vue-loader后報(bào)錯(cuò),vue-loader的版本降低為14.2.4 vue-loader requires @vue/compiler-sfc to be present in the dependency tree ?

解決:https://blog.csdn.net/weixin_38098195/article/details/80630958?

?4)熱更新時(shí)钱反,出現(xiàn)錯(cuò)誤:Cannot GET / https://segmentfault.com/q/1010000012720634/ https://blog.csdn.net/a2013126370/article/details/88249664?

注意點(diǎn):HtmlWebpackPlugin插件的filename必須是index.html才會(huì)自動(dòng)打開(kāi)頁(yè)面?

?5)htmlWebpackPlugin插件?

? ? ?a)詳解 https://www.cnblogs.com/wonyun/p/6030090.html?

? ? b)template 視口掖看?? http-equiv="X-UA-Compatible" https://blog.csdn.net/changjiangbuxi/article/details/26054755?

6)webpack的分包策略 http://www.reibang.com/p/23dcabf35744?

7)webpack-cdn-plugin:webpack中使用CDN?

http://www.reibang.com/p/86602494dbb7?

?http://www.reibang.com/p/9248db0349fb?

8)webpack 的 runtime 和?manifest面哥,管理所有模塊的交互哎壳。 runtime:webpack模塊交互時(shí)的邏輯 manifest:webpack標(biāo)記模塊間關(guān)系的數(shù)據(jù)?

?runtime 和 manifest 的注入在每次構(gòu)建都會(huì)發(fā)生變化?

?分離manifest?

?const productionConfig = merge([ ... { optimization: { splitChunks: { ... }, runtimeChunk: { name: "manifest", }, }, }, ... ]);?

9) options/query provided without loader (use loader + options) options用法有誤 解決:

??module:?{ ????????

????????rules:?[ ????????????

????????????????????????{ ????????????????

????????????????????????????????test:?/\.js|jsx$/, ????????????????

????????????????????????????????use:?{ ???????????????????????

?????????????????????????????????????????????loader:?'babel-loader', ???????????????????????

?????????????????????????????????????????????options:?{ ????????????????????????????

????????????????????????????????????????????????????presets:?['react',?'es2015'],?//加載react和es2015的包 ????????????????????????????????????????????????????plugins:?['react-html-attrs']?//添加組件的插件配置? ? ? ? ? ? ? ? ? ? ? ?

????????????????????????????????????????????????} ????????????????????

????????????????????????????????????????} ?????????????????, ????????????

????????????????????????????????????????exclude:?/(node_modules)/ ???????????

?????????????????????????????????????}, ???????????

?????????????????????????????????????{?test:?/\.css$/,?loader:?'style-loader!css-loader'?} ??????

??????????????????????????] ????},?

?https://www.cnblogs.com/BetterMan-/p/9867642.html?

?10)ReferenceError: Unknown plugin "react-html-attrs" specified in "base" at 0 未安裝babel-plugin-react-html-attrs?

?11)Module not found: Error: Can't resolve 'object-assign'

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尚卫,隨后出現(xiàn)的幾起案子归榕,更是在濱河造成了極大的恐慌,老刑警劉巖吱涉,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刹泄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡邑飒,警方通過(guò)查閱死者的電腦和手機(jī)循签,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疙咸,“玉大人县匠,你說(shuō)我怎么就攤上這事∪雎郑” “怎么了乞旦?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)题山。 經(jīng)常有香客問(wèn)我兰粉,道長(zhǎng),這世上最難降的妖魔是什么顶瞳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任玖姑,我火速辦了婚禮愕秫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焰络。我一直安慰自己戴甩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布闪彼。 她就那樣靜靜地躺著甜孤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪畏腕。 梳的紋絲不亂的頭發(fā)上缴川,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音描馅,去河邊找鬼把夸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛流昏,可吹牛的內(nèi)容都是我干的扎即。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼况凉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了各拷?” 一聲冷哼從身側(cè)響起刁绒,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烤黍,沒(méi)想到半個(gè)月后知市,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡速蕊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年嫂丙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片规哲。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跟啤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唉锌,到底是詐尸還是另有隱情隅肥,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布袄简,位于F島的核電站腥放,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绿语。R本人自食惡果不足惜秃症,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一候址、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧种柑,春花似錦岗仑、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辐马。三九已至,卻和暖如春舞虱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背母市。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工矾兜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人患久。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓椅寺,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蒋失。 傳聞我的和親對(duì)象是個(gè)殘疾皇子返帕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容