Skip to content

(二十)精确使用loader

阿峰 edited this page May 30, 2023 · 1 revision

步骤二十

优化构建速度-精确使用loader

loader在webpack构建过程中使用的位置是在webpack构建模块依赖关系引入新文件时,会根据文件后缀来倒序遍历rules数组,如果文件后缀和test正则匹配到了,就会使用该rule中配置的loader依次对文件源代码进行处理,最终拿到处理后的sourceCode结果,可以通过避免使用无用的loader解析来提升构建速度,比如使用less-loader解析css文件。

  1. 可以拆分上面配置的less和css, 避免让less-loader再去解析css文件
// webpack.base.js
// ...
module.exports = {
  module: {
    // ...
    rules: [
      // ...
      {
        test: /.css$/, //匹配所有的 css 文件
        include: [path.resolve(__dirname, '../src')],
        use: [
          'style-loader',
          'css-loader',
          'postcss-loader'
        ]
      },
      {
        test: /.less$/, //匹配所有的 less 文件
        include: [path.resolve(__dirname, '../src')],
        use: [
          'style-loader',
          'css-loader',
          'postcss-loader',
          'less-loader'
        ]
      },
    ]
  }
}

ts和tsx也是如此,ts里面是不能写jsx语法的,所以可以尽可能避免使用 @babel/preset-react对 .ts 文件语法做处理。

Clone this wiki locally