拉勾教育训练营学习笔记--webpack打包

1、快速上手

npm init -y

npm i webpack webpack-cli

webpack

webpack配置文件

// webpack.config.js
// 导出一个对象
module.exports = {
    entry: '',
    oupput: {
        filename: 'bundle.js',
        path: path.join(__dirname, 'output'), // 输出目录:绝对路径
    }
}
// 导出一个函数
let config = {}
module.exports = (env, argv) => {
    if (argv.mode === 'development') {
        config.devtool = 'source-map';
    }
    if (argv.mode === 'production') {
        //...
    }
    return config;
}

3、工作模式:mode

modehttps://webpack.docschina.org/configuration/mode/icon-default.png?t=L892https://webpack.docschina.org/configuration/mode/

  •  production(默认):生产模式
  •  development:开发模式
  •  none:不使用任何默认优化选项
// 配置文件
module.exports = {
  mode: 'development',
};
// cli
webpack --mode=development

4、打包结果运行原理

  • 输出的是一个立即执行函数,接受一个modules参数,调用时传入一个数组
    • 数组每个元素都是一个函数,对应源代码的每一个模块,实现模块的私有作用域
  • 立即执行函数内部
    • 定义一个对象用于缓存加载过的模块
    • 定义一个`__webpack_require__`函数,用于加载模块
      • 判断模块是否加载过,加载过则读取缓存
      • 创建新的对象
      • 调用模块对应的函数,传入模块对象、模块导出对象、__webpack_require__函数
    • 在`__webpack_require__`上挂在一些数据、工具函数
    • 调用`__webpack_require__(0)`

5、资源模块加载

添加相应的`loader`处理非JS文件

  • `css-loaser`将css文件打包成一个模块,如果需要使用可使用`style-loader
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值