欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

webpack怎么構(gòu)建工具配置和常用插件

這篇文章主要為大家展示了webpack怎么構(gòu)建工具配置和常用插件,內(nèi)容簡而易懂,希望大家可以學(xué)習一下,學(xué)習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

成都創(chuàng)新互聯(lián)公司是專業(yè)的榆社網(wǎng)站建設(shè)公司,榆社接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行榆社網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

webpack構(gòu)建工具已經(jīng)火了好幾年,也是當下狠火狠方便的構(gòu)建工具,我們沒有理由不去學(xué)習。既然選擇webpack就要跟著時代走,我們要追隨大牛的步伐,大牛等等我。

一、webpack基礎(chǔ)

  1. 在根目錄使用npm init 命令創(chuàng)建package.json,創(chuàng)建過程中一路回車。
  2. 本地安裝webpack命令:npm install webpack webpack-cli --save-dev 安裝成功后寫入package.js的devDependencies中,可以通過 npm node_modules/.bin/webpack -v 命令查看它的版本。
  3. 全局安裝npm install -g webpack 不推薦全局安裝 webpack。它會把你的項目鎖定全局安裝的版本,也可能導(dǎo)致不同的webpack版本中構(gòu)建失敗。

靜態(tài)資源文件目錄

  • ​ – src [ 項目源文件目錄 ]
  • ​ – dist [ 打包文件目錄 ]
  • ​ – webpack.config.js [ webpack配置文件 ]
  • ​ – package.json [ NPM包管理配置文件 ]
  • ​ – node_modules [ 項目中的依賴存放目錄 ]

二、webpack.config.js

const webpack = require('webpack');
module.exports = {
 mote:"development",//指當前的環(huán)境
 /*
 development:開發(fā)環(huán)境
 production:生產(chǎn)環(huán)境
 none:不做任何處理
 */
 //入口文件,如果需求多個入口可改為對象
  entry: './src/index.js',
  /*
  hot配置是否啟用模塊的熱替換功能,devServer的默認行為是在發(fā)現(xiàn)代碼被改后通過自動刷新整個頁面來做到事實預(yù)覽,然后設(shè)置hot后,
  會在不刷新整個頁面的情況下用新模塊替換老模塊來做到實時更新。
  如果選用hot:true方式來達到熱更新的效果需要引用webpack.HotModuleReplacementPlugin插件配合達到你需要的效果,另外推薦一
  種簡便的方式在package.json中scripts設(shè)置如下
  "scripts": {
   "start": "webpack-dev-server --hot --inline",
  },
  */
  // 服務(wù)器環(huán)境
  devServer: {
   hot: true, //建議使用第二種方案 啟動服務(wù)使用命令 npm run start
   port:"8080",//端口默認8080,可以自行設(shè)置
   host:"192.168.xx.xx",
   /*
   host配置devServer服務(wù)監(jiān)聽的地址,也可以使用localhost進行訪問 瀏覽器輸入192.168.xx.xx/index.html
   簡便方法在package.json中設(shè)置如下
   "scripts": {
   "start": "webpack-dev-server --hot --inline ",
   },
   */
   
  },
  //插件
  plugins: [
   //熱加載插件
   new webpack.HotModuleReplacementPlugin(), 
  ],
  //輸出
  output: {
   //filename:輸出的文件名,可以自定義一些規(guī)則
   filename: '[name].bundle.js',
   //path,配置輸出文件存放在本地的目錄
   path: path.resolve(__dirname, 'dist')
  }
 }; 

三、插件

1、HtmlWebpackPlugin

const HtmlWebpackPlugin = require('html-webpack-plugin')
 plugins: [
  new HtmlWebpackPlugin({ // 打包輸出HTML
   title: 'Hello World',//文件的標題
   minify: { //minify 的作用是對 html 文件進行壓縮
    removeComments: true, // 移除HTML中的注釋
    collapseWhitespace: true, // 刪除空白符與換行符
    minifyCSS: true, // //是否壓縮html里的css 默認值false;
    caseSensitive: true, //是否對大小寫敏感,默認false
    ollapseWhitespace: true, //是否去除空格,默認false
    minifyJS: true, //是否壓縮html里的js
    removeAttributeQuotes: true, //是否移除屬性的引號 默認false
    removeComments: true, //是否移除注釋 默認false
    emoveCommentsFromCDATA: true, //從腳本和樣式刪除的注釋 默認false
    emoveEmptyAttributes: true, //是否刪除空屬性,默認false
    removeRedundantAttributes: true, //刪除多余的屬性
    removeScriptTypeAttributes: true, //刪除script的類型屬性,在h6下面script的type默認值:text/javascript 默認值false
   },
   filename: 'index.html', //輸出的html的文件名稱
   template: 'index.html', //html模板在的文件路徑
   hash: true,//hash作用是給生成的js文件一個獨特的hash值,默認值為false 被構(gòu)建過后的html引用js效果如下
   // <script type=text/javascript src=bundle.js&#63;22b9692e22e7be37b57e></script>
  }),
 ] 

2、CleanWebpackPlugin

const { CleanWebpackPlugin } = require('clean-webpack-plugin');
plugins: [
  //該插件主要用于自動刪除webpack里dist目錄中已不需要的文件
  new CleanWebpackPlugin()
] 

官方介紹:

By default, this plugin will remove all files inside webpack's output.path directory, as well as all unused webpack assets after every successful rebuild

3、ExtractTextWebpackPlugin

先把我們需要的東西下載好

npm install webpack css-loader style-loader extract-text-webpack-plugin --save-dev

首先配置webpack,先不使用插件完成

module.exports = {
 module : {
    rules: [
      {
        test: /\.css$/,
        use:[
          { loader: "style-loader" },
          { loader: "css-loader" }
        ]
      }
    ]
  }
}

配置好之后在js入口文件中引入樣式文件,打包查看打包結(jié)果bundle.js,會發(fā)現(xiàn)css被打包到了js里面,以字符串的形式存在。如果index.html中已引入打包后的bundle.js,使用瀏覽器打開index.html文件會發(fā)現(xiàn)css以style的形式被插到了head當中。

2.使用插件

const path = require('path');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
 module : {
  rules: [
    {
      test: /\.css$/,
      use : ExtractTextPlugin.extract({
       fallback: "style-loader",
        use: "css-loader"
      })
    }
    /*
  use: 指需要什么樣的loader去編譯文件
  fallback: 編譯后用什么loader來提取css文件
  */
   ]
 },
 plugins: [
   new ExtractTextPlugin("styles.css"),
   new HtmlWebpackPlugin({ // 關(guān)于HtmlWebpackPlugin上文有提到
      title: 'extract-text-webpack-plugin',
      filename: 'index.html',
      template: path.resolve(__dirname, 'index.html'),
      inject : 'head'
    })
 ]
}

以上內(nèi)容配置好之后打包查看,可以發(fā)現(xiàn)css文件以link的方式被引在index.html的head中。期間配合HtmlWebpackPlugin插件自動插入index.html中

以上就是關(guān)于webpack怎么構(gòu)建工具配置和常用插件的內(nèi)容,如果你們有學(xué)習到知識或者技能,可以把它分享出去讓更多的人看到。

當前題目:webpack怎么構(gòu)建工具配置和常用插件
網(wǎng)站URL:http://aaarwkj.com/article48/goooep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站用戶體驗、網(wǎng)站排名、網(wǎng)站改版、小程序開發(fā)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产91精品成人在线观看| 国产另类极品熟女露脸自拍| 欧美色精品人妻在线最新| 欧美日韩精品一区二区在线播放| 不卡的av中文字幕在线播放| 亚洲欧美日韩国产在线一区| 日本熟妇中文字幕系列| 日本人免费一区二区电影| 亚洲日本不卡在线一区二区| 亚洲国产韩国精品在线| 亚洲国产精品成人女人| 18禁视频免费无遮挡| 国产原创传媒在线观看| 欧美欧成人一区二区三区a∨| 传媒视频在线观看网站| 精品特色国产自在自线拍| 日本 一区二区在线| 日韩一区二区三区无吗电影 | 亚洲国产成人午夜精品| 日韩欧美一区二区不卡在线| 91福利免费在线看| 妇女人妻丰满少妇中文字幕| 久久精品国产亚洲av热老太| 人妻中文字幕在线看粉嫩| 久久偷拍精品视频久久| 欧美日韩另类中文字幕| 亚洲精品日韩av专区| 欧美精品一区二区三区狠狠| 日本一区二区三区在线观看视频| 少妇特黄a一区二区三区| 国产av自拍在线免费观看| 综合激情网激情五月天| 丁香六月色婷婷亚洲激情 | 欧美中文字幕在线精品| 亚洲精品不卡在线观看| 精品熟女少妇av免费久久野外| 国产精品伦一区二区三级| 91在线观看高清免费| 国模一区二区三区视频| 青草草草草草在线观看| 日韩av一区二区人妻|