webpack 基础常用配置

本文详细介绍了webpack的基础配置,包括entry、output、loader、plugin等核心概念,以及开发环境和生产环境的优化策略,如HMR热加载、sourceMap、tree shaking、缓存、代码分割和PWA等。同时,还涵盖了处理CSS、Less、静态资源和使用eslint、babel的技巧,以及dll打包和本地服务器配置。
摘要由CSDN通过智能技术生成

常用插件
  1. page-skeleton-webpck-plugin
引言

webpack默认只能处理js/json 将es module comjs转为游览器认识的模块

五个核心概念
  1. entry
  • 文件打包入口
  1. output
  • bundle文件存放目录
  1. loader
  • 处理文件的包
  1. plugin
  • 扩展
  1. mode
  • 分为process.env.NODE_ENV分为development / production
命令
webpack ./index.js(入口) -o ./build --mode=development
处理css less
 rules: [
            {
   
                test: /\.less$/,
                use: [
                    'style-loader',
                    'css-loader',
                    'less-loader'
                ]
            },
 ]
处理静态资源图片
  1. file-loader
  2. url-loader
  3. html-loader
 {
   
    test: /\.(jpg|png|gif)$/,
    loader: 'url-loader',
    options: {
   
        esModule: false,
        name: '[hash:10].[ext]'
    }
},
{
   
    test: /\.html$/,
    loader: 'html-loader'
}
其他静态资源使用file-loader处理
module: {
   
  rules: [
    {
   
      exclude: /\.(html|css|js)$/,
      loader: 'file-loader',
      options: {
   
        name: '[hash:20].[ext]',
        outputPath: 'static/
      }
    }
  ]
}
本地服务器

可以在内存里自动更新代码

  devServer: {
   
        port: 4000,
        contentBase: __dirname + '/dist',
        compress: true,
        // 开启模块热加载, 配置文件更新必须重启webpack
        hot: true
    }
css单独打包成文件
rules: [
{
   
    test: /\.less$/,
    use: [
        MiniCssExtractPlugin.loader,
        'css-loader',
        'less-loader'
    ]
}
]
plugins: [
  new MiniCssExtractPlugin({
   
      filename: 'css/main.css'
  })
]
增加css兼容性 postcss-loader postcss-preset-env(从package.json读取配置)
{
   
    test: /\.less$/,
    use: [
        // css压缩单独打包文件
        MiniCssExtractPlugin.loader,
        'css-loader',
        {
    //增加css兼容性
            loader: 'postcss-loader',
            options: {
   
                ident: 'postcss',
                plugins: () => [
                    require('postcss-preset-env')()
                ] 
            }
        },
        'less-loader'
    ]
}
//package.json
"borwserslist": {
   
  "development": [
    "last 1 chrome version
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值