zoukankan      html  css  js  c++  java
  • 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 是插件项;

  • 相关阅读:
    免费的mail server
    opensuse 11.2/11.3安装vmware server 1.0.10笔记
    cisco IOS 免费下载的地方
    自动打开最快镜像站
    [ZT]MSSQL清空或者压缩日志的方法
    Cisco路由器的安全配置方案[zt]
    CISCO2821系列路由器恢复密码
    RTorrent User Guide
    Asp.Net发送邮件详解
    C#在线生成网页缩略图
  • 原文地址:https://www.cnblogs.com/ertingbo/p/7063891.html
Copyright © 2011-2022 走看看