美文网首页
webpack中css配置(模块化、抽离等)

webpack中css配置(模块化、抽离等)

作者: huk | 来源:发表于2019-03-26 16:18 被阅读0次

模块化

方便控制局部和全局的样式,使用css-loader实现。

写的项目是个脚手架,这边是为了兼容,公司里很多前端项目都已经集成了这个脚手架,所以要适用styles.xxx这样的写法也要能直接className="xxx"。重点在modules: 'global',默认全局,想用局部的地方自己加:local。

还可以用babel-plugin-react-css-modules进一步简化写法,但是这边不是新的项目就没有用。

{
  test: /\.less$/,
  use: ['css-hot-loader', 'style-loader', {
    loader: 'css-loader',
    options: {
      importLoaders: 2,
      localIdentName: '[name]--[local]--[hash:base64:5]',
      sourceMap: true,
      modules: 'global'  //重点
    }
  }, {
    loader: 'postcss-loader',
    options: {
      config: {
        path: path.join(__dirname, './postcss.config.js')
      }
    }
  }, {
    loader: 'less-loader',
    options: {
      sourceMap: true
    }
  }]
}

前面的尝试里,碰到过使用modules:true的时候,和antd有冲突,把antd的也去解析成hash了,引入的时候就找不到了,解决方式是配两份less的test,一份exclude掉node_modules,一份include node_modules,include的modules:false就行。现在改成了global就不会有这种问题,默认都是全局了。

抽离css

采取的方式是在dev下使用style-loader,在prod下使用mini-css-extract-plugin分离css成一个单独的文件在html中引入。环境变量定义好,把开发和生产的webpack.config配置分离开,便于做这种不同环境的配置。

代码参考上面的,要注意loader里的执行顺序,从右到左,从下到上。

遗留问题

本来是使用happypack来解析loader的,为了提速。但是目前项目中mini-css-extract-plugin+happypack+css-modules就会报错,所以就暂时去掉了对less的happypack loader。

概念和文档能找到的东西就不写了 自行查找~

相关文章

  • webpack中css配置(模块化、抽离等)

    模块化 方便控制局部和全局的样式,使用css-loader实现。 写的项目是个脚手架,这边是为了兼容,公司里很多前...

  • css模块化配置

    webpack3.8.1中配置 在containers和components文件夹中开启css模块化

  • 金山WPS

    npm切换版本 webpack将抽离出来的css文件如何引用到文件中 webpack和gulp区别及webpack...

  • Webpack4不求人系列(1)

    Webpack是一个现在Javascript应用程序的模块化打包器,在Webpack中JS/CSS/图片等资源都被...

  • webpack

    webpack 基于模块化开发的一个工程化开发工具,因此webpack中,任何资源(图片,css等)都可以作为...

  • plugin知的少

    extract-text-webpack-plugin:抽离css样式,防止将样式打包在js中引起页面样式加载错乱...

  • extract-text-webpack-plugin 的使用及

    extract-text-webpack-plugin该插件的主要是为了抽离css样式,防止将样式打包在js中引起...

  • webpack 之 css module

    webpack 之 css module webpack配置css-loader?modulesmodules ...

  • 3.css文件打包

    在src/css/index.css 在entry文件下 webpack.config.js配置 webpack配置

  • webpack学习

    webpack简介 webpack是一种模块化方案,将JS、CSS和图片等资源都当做模块来处理。提供一个入口文件,...

网友评论

      本文标题:webpack中css配置(模块化、抽离等)

      本文链接:https://www.haomeiwen.com/subject/bvqnvqtx.html