摘要:四用于對(duì)模塊的源代碼進(jìn)行轉(zhuǎn)換。對(duì)于圖片等都不能識(shí)別,所有需要引入對(duì)應(yīng)的對(duì)對(duì)應(yīng)格式的文件進(jìn)行轉(zhuǎn)換以便來識(shí)別。支持鏈?zhǔn)秸{(diào)用,調(diào)用順序由下到上,由右到左五插件目的在于解決無法實(shí)現(xiàn)的其他事。
一.entry
entry是webpack打包的入口配置,entry對(duì)應(yīng)的值可以是字符串,數(shù)組,對(duì)象;單入口可以使用字符串、數(shù)組、對(duì)象,多入口配置則必須使用對(duì)象的方式
二.output
output是webpack打包的出口配置,可以指定文件輸出的路徑path和文件名filename;多入口起點(diǎn)的時(shí)候,出口文件名配置需要以占位符來確保每個(gè)文件具有唯一的名稱,eg:filename="[name].js"
三.mode
模式配置告知webpack使用相應(yīng)的配置優(yōu)化,支持development,production;webpack打包的時(shí)候可以使用webpack --mode=production進(jìn)行參數(shù)傳遞。
四.loader
loader 用于對(duì)模塊的源代碼進(jìn)行轉(zhuǎn)換。webpack默認(rèn)只支持js,json文件格式。對(duì)于css、es6、圖片、vue、jsx等webpack都不能識(shí)別,所有需要引入對(duì)應(yīng)的loader對(duì)對(duì)應(yīng)格式的文件進(jìn)行轉(zhuǎn)換以便webpack來識(shí)別。loader支持鏈?zhǔn)秸{(diào)用,調(diào)用順序由下到上,由右到左
五.plugins
插件目的在于解決 loader 無法實(shí)現(xiàn)的其他事。
六.webpack項(xiàng)目搭建(vue)
1)npm i webpack webpack-cli -D安裝webpack依賴。 安裝完了可以對(duì)js文件進(jìn)行解析,但是卻不能解析es6,要解析es6就需要借助babel。 2)npm babel-loader @babel/core @babel/preset-env -D安裝babel對(duì)應(yīng)的依賴。 在目錄下創(chuàng)建.babelrc文件,配置preset { "presets": [ "@babel/preset-env" ] } 配置babel-loader module: { rules: [ { test: /.js$/, use: "babel-loader" } ] } 3)npm i css-loader style-loader less less-loader -D 安裝css對(duì)應(yīng)loader { test:/.css$/, use: [ "style-loader", "css-loader" ] }, { test: /.less$/, use: [ "style-loader", "css-loader", "less-loader", ] } 這個(gè)方式css和js是編譯打包到一個(gè)文件里面,css樣式以style的方式插入head中, 但是大多數(shù)情況我們是希望js和css分別獨(dú)立打包,這時(shí)我們就需要引入插件 mini-css-extract-plugin把css樣式抽離出來。 npm i mini-css-extract-plugin -D安裝插件。 在webpack.config.js引入 const MiniCssExtractPlugin = require("mini-css-extract-plugin"); loader就不能使用style-loader需引用MiniCssExtractPlugin.loader plugins: [ new MiniCssExtractPlugin({ filename: "[name].css" }) ] npm i optimize-css-assets-webpack-plugin -D引入css壓縮插件 const OptimizeCss = require("optimize-css-assets-webpack-plugin"); 配置css壓縮plugins new OptimizeCss({ assetNameRegExp: /.css$/g, cssProcessor: require("cssnano"), }), 4)npm i vue-loader vue-template-compiler -D安裝vue依賴loader { test: /.vue$/, use: "vue-loader" } 引入vue-loader plugin: const VueLoaderPlugin = require("vue-loader/lib/plugin"); new VueLoaderPlugin(), 5)npm i html-webpack-plugin -D 安裝html的插件 const HtmlWebpackPlugin = require("html-webpack-plugin"); new HtmlWebpackPlugin({ template: "./src/index.html", filename: "index.html", // 打包之后的html chunks: ["app"], // 依賴的文件 inject: true, minify: { html5: true, removeAttributeQuotes: true, collapseWhitespace: true, } }) 6)熱更新
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/104355.html
摘要:爭(zhēng)取早日能完全拋棄掉中文文檔,最終可以翻譯英文文檔,輸出英文文檔。待續(xù)相關(guān)文章入門學(xué)習(xí)手記一入門學(xué)習(xí)手記二入門學(xué)習(xí)手記三入門學(xué)習(xí)手記四 本人微信公眾號(hào):前端修煉之路,歡迎關(guān)注。 showImg(https://segmentfault.com/img/bVbk0kO?w=1150&h=599); 之前用過gulp、grunt,但是一直沒有學(xué)習(xí)過webpack。這兩天剛好有時(shí)間,學(xué)習(xí)了下...
摘要:引言最近在學(xué)習(xí),發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒有接觸過,如等等。使用本地安裝,會(huì)存于文件夾內(nèi)與屬性內(nèi),更方便項(xiàng)目文件遷移以及協(xié)同開發(fā)等情況。 引言 最近在學(xué)習(xí)webpack,發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒有接觸過,如babel、core-js、browserslist等等。以前習(xí)慣了使用cli構(gòu)建項(xiàng)目,很多東西不用考慮,拿來就用,這樣的碼農(nóng)是不會(huì)有能力提升的,必須了解更多的知識(shí)點(diǎn),才能成為...
摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁面應(yīng)用,該如何去通過打包。 前言 在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開始webpack的學(xué)習(xí)。 *創(chuàng)建webpack-demo文件夾 $ mkdir webpack-demo $ cd webpac...
摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁面應(yīng)用,該如何去通過打包。 前言 在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開始webpack的學(xué)習(xí)。 *創(chuàng)建webpack-demo文件夾 $ mkdir webpack-demo $ cd webpac...
摘要:例如現(xiàn)在的入門學(xué)習(xí)手記系列。收到粉絲留言和打賞的喜悅。安裝上一篇入門學(xué)習(xí)手記一,主要是介紹了的核心概念,是整個(gè)學(xué)習(xí)過程的基礎(chǔ)知識(shí)。新生成的類似如下入門學(xué)習(xí)手記因?yàn)樯傻膬?nèi)容過多,我直接省略掉了。 showImg(https://segmentfault.com/img/bVbk5Nd?w=1150&h=599); 本人微信公眾號(hào):前端修煉之路,歡迎關(guān)注。 最近開始想要維護(hù)一個(gè)個(gè)人的公眾...
閱讀 1115·2021-11-16 11:42
閱讀 2895·2021-10-12 10:18
閱讀 2854·2021-09-24 09:48
閱讀 3457·2019-08-30 15:56
閱讀 1523·2019-08-30 14:17
閱讀 3036·2019-08-29 12:14
閱讀 902·2019-08-27 10:51
閱讀 2020·2019-08-26 13:28