webpack.config.js文件配置选项

// 引入一个包
const path = require("path");
const HTMLWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
// webpack 里所有的配置信息
module.exports = {
  // entry 指定入口文件o
  entry: "./src/index.ts",
  // output 指定打包文件所在目录
  output: {
    // path 指定文件所在的目录
    path: path.resolve(__dirname, "dist"),
    // filename 打包文件的文件名
    filename: "bundle.js",
    // 告诉webpack不使用箭头函数
    environment: {
      arrowFunction: false,
    },
  },
  // module 指定webpack打包时需要使用的模块
  module: {
    // 指定要加载的规则
    rules: [
      // test 指定规则生效的文件
      {
        test: /\.ts$/,
        // user 要使用的loader加载器
        use: [
          // 配置loader
          {
            // loader 指定加载器名称
            loader: "babel-loader",
            options: {
              // 设置预定义的环境,需要在哪些浏览器中运行
              presets: [
                [
                  // 指定环境插件
                  "@babel/preset-env",
                  // 配置信息
                  {
                    // 需要兼容的目标浏览器
                    targets: {
                      // 谷歌浏览器需要兼容到的版本:兼容到88版本
                      chrome: "58",
                      ie: "11",
                    },
                    // corejs的版本
                    corejs: "2",
                    // 使用corejs的方式:usage 按需加载
                    useBuiltIns: "usage",
                  },
                ],
              ],
            },
          },

          "ts-loader",
        ],
        // 要排除的文件
        exclude: /node_modules/,
      },
    ],
  },
  mode: "development",
  // 配置webpack插件
  plugins: [
    // 自动清除旧的打包文件
    new CleanWebpackPlugin(),
    // 自动生成html文件,并引入相关资源
    new HTMLWebpackPlugin({
      // "title":"这是我自定义的title"
      template: "./src/index.html",
    }),
  ],
  // 用来设置引用模块,哪些文件可以作为模块被引用
  resolve: {
    extensions: [".ts", ".js"],
  },
};

 

posted @ 2022-12-05 17:32  宫圆薰  阅读(171)  评论(0编辑  收藏  举报