經過webpack命令打包文件: 模塊化轉換,代碼壓縮合並
const path = require('path');
// 下包並導入插件 npm i html-webpack-plugin -D
const HtmlWebpackPlugin = require('html-webpack-plugin');
// npm i clean-webpack-plugin -D 清除目錄中的內容
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
// 配置打包選項 development開發環境
mode: 'development', // production 生產環境
// 指定入口文件:要打包的文件
entry: './src/js/index.js',
// 指定輸出文件:打包以後的文件
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.min.js'
},
// 配置資源的加載器 loader
module: {
rules: [
// 配置js的加載器(把ES6轉化爲ES3/5代碼)
{
test: /\.jsx?$/,
loader: 'babel-loader',
//打包除這個文件以外的文件
exclude: path.join(__dirname, './node_modules'),
//打包包括的文件
include: path.join(__dirname, './src')
},
// 配置css的加載器
{
// 匹配.css結尾的文件
test: /\.css$/,
// 配置css文件的加載器,處理順序:從右向左
use: ['style-loader', 'css-loader']
},
// 配置less的加載器
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader']
}
]
},
// 配置插件
plugins: [
new CleanWebpackPlugin(),
// 動態生成html
new HtmlWebpackPlugin({
title: '測試標題',
template: 'index.html'
})
],
// 配置實時預覽環境
devServer: {
contentBase: path.join(__dirname, 'dist'),
port: 5000
}
}
複製代碼
"scripts": {
"dev": "npx webpack-dev-server --open"
}
複製代碼