傳送門: 從零學習搭建webpack工程(一)css
npm install -D html-webpack-plugin
package.json中:html
"devDependencies": {
"clean-webpack-plugin": "^3.0.0",
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10"
},
複製代碼
const HtmlWebpackPlugin = require('html-webpack-plugin')
複製代碼
此處用到了兩個模板頁面,須要先在根目錄下新建兩個文件index.html和list.htmlnode
new HtmlWebpackPlugin({
title: "webpack template",
template: "./index.html",
filename: "index/index.html"
}),
new HtmlWebpackPlugin({
title: "webpack template",
template: "./list.html",
filename: "list/list.html",
chunks: ['list']//引入的js
})
複製代碼
nom run dev
,打包後的文件以下new HtmlWebpackPlugin({
title: "webpack template",//在html使用ejs語法時生效
template: "./list.html",
filename: "list/list.html",
chunks: ['list'],//容許注入的js文件
excludeChunks: ['index'],// 阻止注入某些js文件
inject: "body",//(true | body)添加靜態資源在body底部 | head添加靜態資源在head | false阻止添加靜態資源
favicon: "",//值是一個路徑,在生成的html中生成一個favicon
minify: false,//默認值是false,是否對生成的html進行壓縮
hash: true,//默認值是false,清楚緩存, 添加一個hash值在包含的腳本和css中
cache: true,//默認是true,內容變化時造成新的文件
showErrors: true,// 默認是true,錯誤信息輸出到html文件中
meta: {} //值是對象,設置元信息。
})
複製代碼
webpack-dev-serve
,進行熱更新webpack-dev-serve
,命令 npm install webpack-dev-serve -D
devServer: {
contentBase: path.join(__dirname, "dist"),//項目的目錄
host: "localhost",//ip
port: 2020,//端口
open: true,//自動打開瀏覽器
hot: true,//開啓熱替換
// useLocalIp: true,
openPage: "index/index.html",
compress: true,//gzip壓縮
//header:{ }//設置響應頭,
overlay: true,//編譯失敗,在瀏覽器顯示錯誤
//stats: 'errors-only',//編譯時命令行打印的內容 可選值 'minimal', 'normal', 'verbose'
proxy: {//跨域
'/api': {
target: '', // 目標接口的域名
// secure: true, // https 的時候 使用該參數
changeOrigin: true, // 是否跨域
pathRewrite: {
'^/api': '' // 重寫路徑
}
}
}
},
複製代碼
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --config webpack.config.js",
"build": "webpack --config webpack.config.js"
},
複製代碼
npm run dev
會啓動node服務,自動打開瀏覽器頁面傳送門: 從零學習搭建webpack工程(一)webpack