【webpack4】- 基础知识

232 阅读1分钟

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做了什么?

(原始的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