1. 程式人生 > >webpack基本打包配置流程

webpack基本打包配置流程

專案搭建以及webpack打包配置流程
  1. 建立資料夾EC(資料夾和檔名根據需求自定義)
  2. 在EC資料夾下新建資料夾APP
  3. 在APP資料夾下新建入口檔案index.js 和執行該入口檔案的index.html檔案
  4. 在APP資料夾下新建兩個js檔案:a,js   b.js   (當專案級別如react專案,可以根據需求建立components資料夾等等,用於更好地管理模組化專案)
      APP/index.html 複製程式碼
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
<script src="./index.js" ></script>
</body>
</html>
複製程式碼     APP/ index.js     (ES6 語法)
import a from './a.js';
import b from './b.js';
a();
b();
     APP/a.js            (ES6 語法)
export default function a() {
    console.log('module a');
}
    APP/ b.js            (ES6 語法)
export default function b() {
    console.log('module b');
}
此時在瀏覽器中執行APP/index.html 控制檯報錯
原因是瀏覽器並不支援ES6的模組化語法 因此用到webpack,接上面第4步驟:
  1. 在EC下新建webpack.config.js 檔案 (webpack是使用npm執行的,並且用npm執行webpack時,預設是執行webpack.config.js 檔案)
    1. webpack 用commonjs模組化語法,也就是npm語法,不用ES6語法,原因是webpack是用npm執行的。
複製程式碼
const path = require('path');
 
module.exports = {
    entry: './APP/index.js',                     //定義(告訴webpack)入口檔案
output: { path: path.resolve(__dirname, './dist'), //定義輸出檔案將存放的資料夾名稱,這裡需要絕對路徑,因此開頭引入path,利用path方法 filename: '[name].js' //輸出檔名稱定義,這樣寫預設是main.js // filename: 'index.js' //也可以定為index.js } }
複製程式碼
  1. 正式在專案中(EC資料夾下)安裝webpack(前提是nodejs已經安裝完畢,並且版本較新)    
    1. npm init -y                                         (-y表示yes預設安裝,此時專案中會自動建立package.json檔案)
    2. npm install --save-dev webpack           (--save-dev 表示在專案中拒不安裝並在開發環境Dev中安裝)
    3. 手動配置package.json 檔案
複製程式碼
{
  "name": "e_c",          //這個記得修改為和EC不同名的名稱
  "version": "1.0.0",
  "description": "",
  "main": "webpack.config.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack"       //這是需要手動配置的webpack
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^3.10.0"     //這是開發依賴,在npm install --save-dev webpack 的時候自動配置的
  }
}
複製程式碼
  1. 在EC目錄下開啟控制檯,輸入 npm run dev 
    1. 此時專案EC資料夾下會自動生成dist資料夾並將webpack.config.js檔案中定義的入口檔案輸出到該dist資料夾並命名為webpack.config.js中定義的輸出檔名
    2. 將APP/index.html copy 一份到 dist 資料夾,用來執行該dist資料夾下由webpack打包生成的main.js(或者其他自定義的)
    3. 此時在瀏覽器中開啟dist資料夾下的index.html 控制檯如下:

        

  1. 最終資料夾如下: