webpack经典7分钟入门教程(3)

var webpack = require('webpack'); module.exports = { entry: './entry.js', output: { path: __dirname, filename: 'https://www.jb51.net/bundle.js' }, module: { loaders: [ {test: /.css$/, loader: 'style!css'} ] }, plugins: [ new webpack.BannerPlugin('This file is created by mutouren') ] }

然后运行 webpack,打开 bundle.js,可以看到文件头部出现了我们指定的注释信息:

/! This file is created by mutouren / /**/ (function(modules) { // webpackBootstrap /**/ // The module cache /**/ var installedModules = {}; // 后面代码省略......

一个 url-loader 来说,它会将样式中引用到的图片转为模块来处理,使用该加载器需要先进行安装:

npm install url-loader

修改style.css文件

body { color:#fff; background: url('./logo.png'); }

配置webpack.config.js文件

module.exports = { entry: "./entry.js", output: { path: __dirname, filename: "https://www.jb51.net/bundle.js" }, module: { loaders: [ { test: /.css$/, loader: "style!css" }, { test: /.(png|jpg)$/, loader: "url?limit=40000" } // 添加到这 ] } };

注意后面那个limit的参数,当你图片大小小于这个限制的时候,会自动启用base64编码图片。

我们还是运行

webpack

将会看到背景图片已设置成功。

八.在 Webpack 中使用别名

模块别名定义,方便后续直接引用别名,无须多写长长的地址,比如我们现在想要把scripts/jquery.min.jsjquery压缩文件打包.

别名(resolve.alias) 是 Webpack 的一个配置项,它的作用是把用户的一个请求重定向到另一个路径,例如通过修改 webpack.config.js 配置文件,jquery为别名加入:

resolve: { alias: { jquery: "./scripts/jquery.min.js" } }

例如我们之前不用别名,在entry.js中,想要把jquery打包

require('./scripts/jquery.min.js');

设置别名,就可以修改为

require('jquery');

这样待打包的脚本中的 require('jquery'); 其实就等价于 require('./scripts/jquery.min.js'); 。通过别名的使用在本例中可以减少几乎一半的时间。

我们把需要的jquery打包了,但是现在前台页面想要直接用还是不可以的,需要我们把jquery暴露出来。

你可能在全局中使用了一个压缩版本的 jquery,为了修复你可以安装这个暴露全局加载器

npm install expose-loader --save-dev

然后像下面这样修改entry.js:

require('expose?$!jquery');

把$作为别名为jquery的变量暴露到全局上下文中。

现在我们在页面就可以使用$,例如:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfjpw.html