小言_互联网的博客

webpack 基础理解[二]

400人阅读  评论(0)

业精于勤 荒于嬉

webpack 中 常用的 loader 

css 模块化:关键 modules:true


  
  1. rules: [{
  2. test: /\.css$/,
  3. // loader: 'css-loader'
  4. // // loader 的执行顺序是从后向前面
  5. // // webpack 遇到自己不认识的文件时 ,先去module找 ,定义的规则里面有没有对应的loader
  6. // // css-loader 言简意赅 是把css 模块内容加入到 js 模块中区
  7. // // style-loader 从js 中提取css 的 loader ,在html 中创建style 标签
  8. use: [ 'style-loader', 'css-loader']
  9. },
  10. {
  11. test: /\.less$/,
  12. use: [ 'style-loader', {
  13. loader: 'css-loader',
  14. options: {
  15. // 开启 css 模块化
  16. // css modules
  17. modules: true
  18. }
  19. }, 'less-loader'], // 将 Less 文件编译为 CSS 文件
  20. },
  21. ]

  
  1. import css from './css/index.less'
  2. console.log( 'index xixi')
  3. let ele = `<div class="${css.ele}"> css module</div>`
  4. document.write(ele)

file-loader:解析图片 可以设置打包后的图片名称 以及输出路径


  
  1. {
  2. test: /\.(png|jpe?g|jpeg|gif)$/, // 问号代表可有可无 ?可以同时匹配jpg 和 jpeg
  3. use: {
  4. loader: 'file-loader',
  5. options: {
  6. name: "[name]_[hash:6].[ext]",
  7. outputPath: 'images/'
  8. }
  9. }
  10. }

postcss-loader ,autoprefixer ,先安装 再使用


  
  1. const autoprefixer = require( 'autoprefixer')
  2. module.exports = {
  3. plugins: [
  4. // require('autoprefixer')
  5. autoprefixer(
  6. // postcss 处理使用autoprefix 添加前缀的标准
  7. {
  8. //last 2 versions 最新的两个版本
  9. // 全球浏览器市场份额大于 1%
  10. overrideBrowserslist: [ "last 2 versions", ">1%"]
  11. }
  12. )
  13. ]
  14. }

file-loader 使用


  
  1. {
  2. test: /\.(png|jpe?g|jpeg|gif)$/, // 问号代表可有可无 ?可以同时匹配jpg 和 jpeg
  3. use: {
  4. loader: 'file-loader',
  5. options: {
  6. name: "[name]_[hash:6].[ext]",
  7. outputPath: 'images/'
  8. }
  9. }
  10. }

引入三方字体的使用也需要用到 file-loader 

url-loader 和 file-loader 是包含关系,安装了 file-loader ,直接使用url-loader 是可以的

url-loader把资源文件转换为URL,file-loader也是一样的功能。

不同之处在于url-loader更加灵活,它可以把小文件转换为base64格式的URL,从而减少网络请求次数。url-loader依赖file-loader。

在大多数情况下,使用url-loader准没错。

匆匆忙忙记录一下 ,迎接五一假期了。。。

积跬步 至千里


转载:https://blog.csdn.net/Sandy_zhi/article/details/116307421
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场