Webpack学习笔记 - 提升篇

如果你已经读了 Webpack学习笔记 - 入门篇,是不是觉得已经可以用 Webpack 做些事情了。

是的,但是总觉的少了些么。馅里不只有肉,还有香菇。

开始使用Webpack

  1. 安装 html-webpack-plugin 插件

     npm install html-webpack-plugin --save-dev
    
  2. 修改 index.html 文件

     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="utf-8">
         <title>Webpack Sample Project</title>
     </head>
     <body>
         <div id='hello'></div>
     </body>
     </html>
    
  3. 修改 webpack 配置文件 webpack.config.js

     var HtmlWebpackPlugin = require("html-webpack-plugin");
    
     module.exports = {
         entry: "./src/index.js",  //入口文件
         output: {
             path: "./dist/",           //打包输出目录
             filename: "js/index.js",    //打包文件名
             publicPath: "./"     //资源发布路径
         },
         module: {
             loaders: [
             {
                 test: /\.css$/, //处理样式文件
                 loaders: ['style', 'css']
             },
             {
                 test: /\.json$/,  //处理json文件
                 loader: 'json' 
             },
             {
                 test: /.*\.(gif|png|jpe?g|svg)$/i, //处理图片
                 loaders: [
                 'url?limit=8192&name=img/[name].[ext]',
                 'image-webpack?{optimizationLevel: 7, interlaced: false, pngquant: { quality: "65-90", speed: 4},  mozjpeg: { quality: 65 }}'
                 ]
             } 
             ]
         },
         plugins: [
             new HtmlWebpackPlugin({
                 filename: 'index.html', 
                 template: './index.html',
                 inject: true 
             })
         ]
     }
    
  4. 项目根目录下执行 webpack 指令,输出结束如下

     Hash: fc21ebafad12332c7fd1
     Version: webpack 1.14.0
     Time: 7015ms
             Asset       Size  Chunks             Chunk Names
     img/webpack.png      40 kB          [emitted]
         js/index.js     291 kB       0  [emitted]  main
         index.html  243 bytes          [emitted]
     [0] ./src/index.js 258 bytes {0} [built]
     [8] ./src/hello.js 180 bytes {0} [built]
         + 8 hidden modules
     Child html-webpack-plugin for "index.html":
             + 3 hidden modules
    

    输出目录 dist 结构如下:

    webpack-test-project
    |--dist
    |  |--index.html
    |  |--js
    |  |  |--index.js
    |  |--img
    	|  |  |--webpack.png
    

    文件 dist/index.htmlhtml-webpack-plugin插件以 index.html 为模板自动生成:

     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="utf-8">
         <title>Webpack Sample Project</title>
     </head>
     <body>
         <div id='hello'></div>
         <script type="text/javascript" src="./js/index.js"></script>
     </body>
     </html>
    
  5. 查看结果

    浏览器打开 dist/index.html 文件,点击看效果

小结

  1. 插件能够完成 loader 所不能完成的任务。

附录

  1. html-webpack-plugin
  2. list of plugins

转载于:https://my.oschina.net/myshow/blog/813884

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值