webpack.config.js常用配置項
阿新 • • 發佈:2021-01-16
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const {
CleanWebpackPlugin
} = require('clean-webpack-plugin');
module.exports = {
//入口檔案
entry: "./src/index.ts", //指定打包後文件目錄
output: { //指定打包檔案的目錄
path: path.resolve(__dirname, 'dist'), //打包後文件名稱
filename: "bundle.js",
// 不使用箭頭函式
environment: {
arrowFunction: false,
const: false
}
},
mode: "development", // 設定mode
// 指定打包時使用的模組
module: {
// 指定載入規則
rules: [{
// 指定那些檔案規則生效
test: /\.ts$/,
// 要使用的loader
use: [{
loader: 'babel-loader',
options: { //設定預定義環境
presets: [
[
'@babel/preset-env' ,
{
//要相容的目標瀏覽器
targets: {
'chrome': "88"
},
//指定corejs版本
'corejs': 3,
//使用corejs的方式,按需載入
"useBuiltIns": "usage"
}
]
]
}
},
'ts-loader'
],
// 排除的檔案
exclude: /node_modules/
},
{
test: /\.less$/,
//先執行的寫在下面
use: [
"style-loader",
"css-loader",
//引入postcss
{
loader: "postcss-loader",
options: {
postcssOptions: {
plugins: [
[
"postcss-preset-env",
{
browsers: 'last 2 versions'
}
]
]
}
}
},
"less-loader"
]
}
]
},
//配置webpack外掛
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
//title:'自定義名字',
template: './src/index.html'
}),
],
// 指定那些檔案可以被引入
resolve: {
extensions: ['.ts', '.js', '.tsl']
}
}