webpack基础——loader,以url-loader为例

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')

module.exports = {
  mode: 'development',
  entry: {
    index: path.join(__dirname, './src/js/index.js'),
    sub: path.join(__dirname, './src/js/sub.js')
  },
  module: {
    rules: [
      {
        test: /.jpg$/,
        use: { //打包图片,可以配置很多,具体看官网
          loader: 'url-loader',
          options: {
            name: '[name].[ext]',  保持原图片名字,保留原图片后缀,此处还有个 [hash] 可选,图片打包后会生成一个hash名字;如'[hash].[ext]',不配置默认是hash
            limit: 2 * 1024,  //表示2kb以下的图片转换成base64格式,其它都是通过网络请求获取,如果没有该项,所有图片转换成base64
            outputPath: 'images/' //打包到dist/images/下面;没有该项就存在dist下
          }
        }
      }
    ]
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].js'
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: path.join('./src/html/index.html')
    }),
    new CleanWebpackPlugin()
  ]
}

loader得解顺序是从下往上

比方说要解析scss得时候就要这样写

module: {
    rules: [
      {
        test: /.scss$/,
        //先经过scss处理=》css处理=》style处理
        use: [
            'style-loader',
            'css-loader',
            'scss-loader'
        ]
     }
}

posted on 2022-06-14 16:20  In-6026  阅读(43)  评论(0编辑  收藏  举报

导航