webpack提取css代码

先建好webpack.config.js文件,在里面写好一个大大的module.exports = { }   ,然后配置都往大括号里填
 
 
入口:entry
entry 对象是用于 webpack 查找启动并构建 bundle。其上下文是入口文件所处的目录的绝对路径的字符串
entry:{
  app:'./app.js',
}    
出口:output
指示 webpack 如何去输出、以及在哪里输出你的「bundle、asset 和其他你所打包或使用 webpack 载入的任何内容」
output:{
    path: path.resolve(__dirname, 'dist'),   //  打包输出文件地址
    filename:'[name].[hash:5].js',           //  生成文件名称
    chunkFilename: '[name].bundle.js',       //  依赖文件名称    
    publicPath: ''                           //  公共路径 
}
样式处理loader
接着就是配置loaders,对文件进行预处理
样式处理要使用css-loader ,style-loader,less-loader,sass-loader,
为了生成独立 .css 文件要使用插件ExtractTextWebpackPlugin
为了在css样式前加上前缀,使用未来css语法,优化css等使用postcss-loader,以及 autoprefixer,postcss-cssnext,cssnano
举例:
module:{
  rules:[
      test:'/\.less$/',           // 里面放一个正则  用来匹配处理的文件 
      exclude:/node_modules/,     // 不处理这个文件里的
      use: ExtractTextWebpackPlugin.extract({
         fallback: {         //  use中的失败来使用fallback中的loader
          loader: 'style-loader',
          options: {
           singleton: true,      // 生成的style标签只有一个
                   transform: './css.transform.js'   // 通过条件改变css,可在js中改变css
               }
         },
         use:[
           {
              loader:'css-loader',
              options:{
                minimize: true,     //启用压缩
                modules: true,      //启用css模块
                localIdentName: '[path][name]_[local]--[hash:base64:5]'   //生成的标识符
              }
           },
           {
               loader: 'postcss-loader',
           options: {
                   ident: 'postcss',            //  配置id  建议命名postcss
                   plugins: [
                     require('autoprefixer')(),        //  添加前缀
                     require('postcss-cssnext')(),     //   支持新css语法
                     require('cssnano')()              //   css优化
                  ] 
               }
            },
           {
              loader: 'less-loader'
           }
        ]
     )}
  ]  ,
  plugins: [
    new ExtractTextWebpackPlugin({
        filename: '[name].min.css',
        allChunks: false
    })
  ]
}

 

转载于:https://www.cnblogs.com/code-lzh/p/9953316.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值