• webpack进阶构建项目(一):1.理解webpack加载器


    1.理解webpack加载器

    webpack的设计理念,所有资源都是“模块”,webpack内部实现了一套资源加载机制,这与Requirejs、Sea.js、Browserify等实现有所不同.

    Webpack提供了一套加载器,比如css-loader,less-loader,style-loader,url-loader等,用于将不同的文件加载到js文件中,比如url-loader用于在js中加载png/jpg格式的图片文件,css/style loader用于加载css文件,less-loader加载器是将less编译成css文件;比如代码配置如下:

    复制代码
    module.exports = {
      entry: "./src/main.js",
      output: {
        filename: "build.js",
        path: __dirname + '/assets/',
        publicPath: "/assets/"
      },
      module: {
        loaders: [
          {test: /.css$/, loader: 'style!css'},
          {test: /.(png|jpg)$/, loader: 'url-loader?limit=8192'}
        ]
      }
      resolve: {
        extensions: ['', '.js', '.jsx'],
        //模块别名定义,方便后续直接引用别名,无须多写长长的地址
        alias: {
            a : 'js/assets/a.js',  // 后面直接引用 require(“a”)即可引用到模块
            b : 'js/assets/b.js',
            c : 'js/assets/c.js'
        } 
      },
      plugins: [commonsPlugin, new ExtractTextPlugin("[name].css")]
    }
    复制代码

    module.loader: 其中test是正则表达式,对符合的文件名使用相应的加载器./.css$/会匹配 xx.css文件,但是并不适用于xx.sass或者xx.css.zip文件.
    url-loader: 它会将样式中引用到的图片转为模块来处理; 配置信息的参数“?limit=8192”表示将所有小于8kb的图片都转为base64形式。
    entry: 模块的入口文件。依赖项数组中所有的文件会按顺序打包,每个文件进行依赖的递归查找,直到所有模块都被打成包;
    output:模块的输出文件,其中有如下参数:
    filename: 打包后的文件名
    path: 打包文件存放的绝对路径。
    publicPath: 网站运行时的访问路径。
    resolve.extensions: 自动扩展文件的后缀名,比如我们在require模块的时候,可以不用写后缀名的。
    resolve.alias: 模块别名定义,方便后续直接引用别名,无须多写长长的地址
    plugins 是插件项;

  • 相关阅读:
    WebView自适应屏幕
    shell脚本:遍历删除
    查看Mysql执行计划
    Spring 源码学习(八) AOP 使用和实现原理
    Java:控制反转(IoC)与依赖注入(DI)
    浏览器-开发者工具
    查看kafka消息消费情况
    shell脚本:遍历删除文本内路径上文件
    聚簇索引与非聚簇索引(也叫二级索引)
    有关MySQL
  • 原文地址:https://www.cnblogs.com/ertingbo/p/7063891.html
Copyright © 2020-2023  润新知