webpack4系列教程(二):創建項目,打包第一個JS文件

1. 創建項目

1.1 初始化一個項目

首先安裝nodejs,打開 nodeJs官網 直接下載安裝即可,安裝完畢後打開命令行工具,進入你的項目文件夾,執行

npm init 進行項目的初始化:

過程中會讓你填寫項目名、版本、描述、倉庫地址、關鍵字等信息,可以不填一路回車,執行完畢後會在根目錄下創建一個 package.json 文件,這樣就初始化結束了。

1.2 安裝webpack

由於在webpack4中已經不再默認安裝 webpacl-cli,所以我們要手動安裝,在命令行執行 npm i webpack webpack-cli -D 即可。對於大多數項目,建議本地安裝。這可以使我們在引入破壞式變更(breaking change)的依賴時,更容易分別升級項目。

2. 打包第一個JS文件 

首先,我們在根目錄下創建一個 webpack.config.js 文件和一個src文件夾。然後在src中創建一個 main.js 文件,如下:

在 main.js 中寫一行 

alert('hello world')

然後打開 webpack.config.js ,進行webpack的配置:

const path = require('path')

let config = {
  mode: 'none',
  entry: {
    main: path.join(__dirname, './src/main.js')
  },
  output: {
    filename: '[name].bundle.js',
    path: path.join(__dirname, './dist')
  }
}

module.exports = config

我們設置了一個名爲 main 的入口,並以 src 下的 main.js 作爲入口文件,然後輸出到根目錄下的 dist 文件夾中。

在webpack4中,我們需要設置 mode 屬性,用來決定當前是development還是production環境,webpack會根據此值來進行一些默認操作,兩種環境的不同配置後面的博文會詳解,這裏我們設置爲 'none' ,來避免默認操作。前文已經說過,path 是 nodeJs中的核心模塊用來操作路徑,__dirname 表示文件的當前路徑(此時爲根路徑)。而 output中的filename屬性,[name] 表示入口的名稱,此處就是 main。

接下來打開 package.json 文件,來編寫一條命令執行webpack的打包。在 script 中添加:

"build": "webpack --config webpack.config.js --progress --colors"

webpack --config path/to/your/file/file.js 表示執行某個配置文件,--progress可以讓我們看到打包的進度 , --colors 開啓命令行顏色顯示,更多的webpack命令參數大家可以另行查閱。

然後就可以在命令行執行:npm run build,執行完畢後,我們可以看到,在根目錄下多了一個 dist 文件夾 並有一個 main.bundle.js文件,這就是webpack爲我們打包出來的靜態資源,而文件路徑就是我們在 output 中設置的值。

爲了演示打包好的 main.bundle.js ,我們在根目錄下創建一個 index.html ,並引入main.bundle.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="dist/main.bundle.js"></script>
</body>
</html>

在瀏覽器中打開 index.html,可見main.js中的代碼已經被執行了:

在IDE中打開main.bundle.js,代碼的最底部可以看到我們在main.js中寫的代碼。

至此,我們的第一次 webpack 打包就成功了。


本人才疏學淺,不當之處歡迎批評指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章