1. 程式人生 > 其它 >webpack.config.js常用配置項

webpack.config.js常用配置項

技術標籤:jsvue

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'] } }