【webpack核心】- 5、webpack配置文件

1、命令参数很多时,配置文件更灵活

webpack提供的cli/命令支持很多的参数(cli是命令行界面的缩写),例如–mode,但命令很多的时候,我们会使用更加灵活的配置文件来控制webpack的行为

默认情况下,webpack会读取webpack.config.js文件作为配置文件,但也可以通过CLI参数--config来指定某个配置文件

#修改webpack的配置文件
npx webpack --config  xx.js

2、webpack配置文件中必须是commonjs规范

配置文件中通过CommonJS模块导出一个对象(只能用commonjs标准,用es6模块化导出会报错!!!),对象中的各种属性对应不同的webpack配置

module.exports={
	//必须用commonjs标准
}

问题:webpack支持多种模块化标准,为什么配置文件里只能用commonjs导出,而不能用es6标准导出?
答案

  1. webpack支持多种模块化标准,指的是开发时态构建依赖关系的时候,无论使用commonjs/es6等标准的时候,都能识别
  2. 读取webpack的配置文件的内容是在打包的过程中读的,打包的过程就是读取webpack配置文件内容 并 运行,打包过程是在node环境里执行的,必须用commonjs
  3. 读取配置文件后,就要构建依赖关系,构建依赖关系时不会运行 开发时态的代码
    总结:1、webpack.config.js 里的代码是在编译的过程中运行的代码,运行环境是node环境,所以必须是commonjs 规范,2、而我们要打包的src下的源代码,在打包的过程中是不会运行的,只是把代码内容读出来,来分析依赖关系,最终形成打包结果, 3、 最终运行的是打包结果
import xx from './xx';
//这句话在打包的时候不会运行,只是webpack用来识别依赖的,而打包完后dist里的代码才会运行,dist里面没有模块化代码

注意:配置文件中的代码,必须是有效的node代码
打包过程中运行webpack.config.js,而src里的代码只是被读出来,不会被运行

3、基本配置

当命令行参数与配置文件中的配置出现冲突时,以命令行参数为准

基本配置:

mode:编译模式,字符串,取值为development或production,指定编译结果代码运行的环境,会影响webpack对编译结果代码格式的处理
entry:入口,字符串,指定入口文件
output:出口,对象,指定编译结果文件

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值