1 webpack是什麽
webpack是模块管理工具
问:为什么要有模块?
答:各模块各司其职,便于管理/重用/定位问题等。若把所有功能都写在一个js文件中,代码会冗长,且难以维护。
问:为什么要有模块管理工具?
答:我们也可以把各个模块文件(head.js/left.js/content.js)都放在index.html文件中,再由index.js来整合模块(head.js/left.js/content.js)。但是缺点是:(1)原来只需要请求一个js文件(即 index.js文件),而现在多了3个请求,页面加载速度变慢;(2)在index.js文件中无法直观的了解到各模块来源于哪个文件;(3)各模块的加载顺序可能会导致错误,并且抛出不好定位的错误信息
问:webpack做了什么?
答:各模块各司其职,便于管理/重用/定位问题等。若把所有功能都写在一个js文件中,代码会冗长,且难以维护。
问:为什么要有模块管理工具?
答:我们也可以把各个模块文件(head.js/left.js/content.js)都放在index.html文件中,再由index.js来整合模块(head.js/left.js/content.js)。但是缺点是:(1)原来只需要请求一个js文件(即 index.js文件),而现在多了3个请求,页面加载速度变慢;(2)在index.js文件中无法直观的了解到各模块来源于哪个文件;(3)各模块的加载顺序可能会导致错误,并且抛出不好定位的错误信息
问:webpack做了什么?
(原始的webpack)只能处理js文件
2 webpack是什麽
webpack默认配置
webpack4中最简单的配置如代码段1所示: 【代码段1】
const path = require('path')
module.exports={
entry:'./src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
}
}
运行下后在控制台中可见输出结果如下:

其中chunk name为main,该模块名是如何得出的???
其实entry:'./src/index.js'代表着:
【代码段2】
... ...
module.exports={
entry: {
main: './src/index.js'
},
... ...
另外,控制台提示用户:设置mode,development/production?
development/production模式的区别:输出的bundle.js文件是否压缩(development模式没有压缩;production模式压缩,即删除回车换行等 ) 【代码段1】虽然没明写mode,但系统默认为production