webpack笔记三 管理输出

增加src/print.js

export default function printMe() {
console.log('I get called from print.js!');
}

src/index.js中导入它:

import _ from 'lodash';
import printMe from './print'; function component() {
let element = document.createElement('div');
let btn = document.createElement('button'); element.innerHTML = _.join(['Hello', 'webpack'], ' '); btn.innerHTML = 'Click here, then watch the console!';
btn.onclick = printMe; element.appendChild(btn); return element;
} document.body.appendChild(component());

webpack.config.js中增加一个入口:

const path = require('path');

module.exports = {
entry: {
app: './src/index.js',
print: './src/print.js'
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
}
};

到这里,还需要手动修改dist/index.html

<html lang="en">
...
<body>
<script src="app.bundle.js"></script>
</body>
</html>

打包后可以看到效果:

使用 HtmlWebpackPlugin 插件

经过以上实践,我们发现每次修改输出文件名,都得手动修改dist/index.html文件,如果给输出文件名增加了hash值维护起来更是麻烦。懒是进步的动力:

安装 HtmlWebpackPlugin 插件:

npm install --save-dev html-webpack-plugin

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = {
entry: {
app: './src/index.js',
print: './src/print.js'
},
plugins: [
new HtmlWebpackPlugin({
title: '管理输出'
})
],
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
}
};

HtmlWebpackPlugin会生成一个index.html,替换掉之前的文件。

HtmlWebpackPlugin插件

html-webpack-template提供默认模板之外,还提供了一些额外的功能。

CleanWebpackPlugin 清理/dist文件夹

npm install --save-dev clean-webpack-plugin

webpack.config.js

...
const CleanWebpackPlugin = require('clean-webpack-plugin'); module.exports = {
...
plugins: [
...
new CleanWebpackPlugin()
],
...
};

manifest

webpack通过manifest追踪所有模块到输出bundle之间的映射。

通过WebpackManifestPlugin可以将manifest数据提取为一个json文件。

The end... Last updated by: Jehorn, April 24, 2019, 4:22 PM

demo源码

最新文章

  1. Ibatis 使用心得
  2. 配置 Windows 下的 nodejs C++ 模块编译环境
  3. 删除sqlserver代理任务脚本
  4. POJ 2184 01背包+负数处理
  5. BZOJ4399 : 魔法少女LJJ
  6. IIS权限设置
  7. 创建FILE GEODATABASE 和栅格目录及向栅格目录中添加影像
  8. 02_使用WebMagic爬虫获取CSDN推荐专家的个人博客信息
  9. 一台服务器同时搭建IIS和WAMP,利用WAMP 80端口转发
  10. 逻辑回归 vs 决策树 vs 支持向量机(II)
  11. discuz 3.1论坛快照被百度劫持解决方案
  12. java中常用的进制转换
  13. floor函数
  14. SQL Operations Studio的安装和使用
  15. C 标准IO 库函数与Unbuffered IO函数
  16. 人脸检测及识别python实现系列(2)——识别出人脸
  17. jsonp/ajax 自己的一些总结
  18. UVa 11038 有多少个0
  19. SQL中利用脚本恢复数据库
  20. Linux下mongodb

热门文章

  1. 深入理解java集合框架之---------LinkedList
  2. HighCharts理解与总结
  3. HDU1596 find the safest road
  4. 深入js之基本语法
  5. ios 点击失效、闪屏问题解决方案
  6. Delphi下OpenGL2d绘图(06)-画图(多窗口、多视图、多个DC)
  7. 关于PHP数据库mysql的一些案例
  8. 14、IO (字节流、字符流)
  9. Spring Boot 打包jar部署服务器
  10. Spring cloud Zuul网关异常处理