webpack 4.x版本手動配置

  • 運行 npm init -y 快速初始化項目

  • 在項目根目錄創建src源程式碼目錄和dist產品目錄

  • 在src目錄下創建 index.html

    • mani.js文件如果後期使用entry打包,這裡可以手動創建
  • 使用npm 安裝webpack, 運行npm i webpack/webpack-cli -D

    • 全局運行npm i cnpm -g
  • 手動創建webpack.config.js文件

  • 注意:webpack4.x 提供了約定大於配置的概念:目的是為了盡量減少配置文件的體積;

    • 默認約定了
    • 打包的入口是src>index.js
    • 打包的輸出文件是 dist>main.js
    • 4.x中新增了mode選項(必選項),可選值為:development和production;
  • 或者在webpack.config.js中配置 entry

     module.exports={
            mode:'development' // development production
            
        }
    

    實時打包模組

  • 安裝
  •  npm install webpack-dev-server -D
    
  • package.json中設置dev
     "scripts": {
            "test": "echo \"Error: no test specified\" && exit 1",
            "dev":"webpack-dev-server"
    

      

  • 啟動dev運行
    npm run dev
     webpack-dev-server 打包好的main.js是託管到了記憶體中;所以在項目根目錄中看不到;但是我們可以認為,在項目根目錄中,有一個看不見的main.js
  • index.js中引入根目錄main.js
    <script src="/main.js"></script>
    
  • package.json中設置dev屬性

    • –open 自動打開瀏覽器 後面可以添加 iexplore chrom ….瀏覽器
    • –port 3000 : 執行埠號為3000
    • –hot :
    • –progress :打包進度
    • –compress : 壓縮
    • –host 127.0.0.1 : 執行域名
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev":"webpack-dev-server --open --port 3000 --hot"
    },

自動打開index.html 首頁模組

  • 安裝模組
    npm install html-webpack-plugin -D
  • webpack.config.js中配置
 const path=require('path');
  const HtmlWebPackPlugin=require('html-webpack-plugin') // 導入 在記憶體中自動生成index頁面的插件

// 創建一個插件的實例對象
const htmlPlugin=new HtmlWebPackPlugin({
template: path.join(__dirname,'./src/index.html'), // 源文件
 filename:'index.html' // 生成的記憶體中首頁的名稱
})

// 加入模組
module.exports={
    mode:'development',
    plugins:[
    htmlPlugin
    ]
}

  

將index中<script src=”/main.js”></script>去掉,讓他自己打包執行

Tags: