为什么 webpack.config.js 使用 CMJ

# 为什么 webpack.config.js 使用 CMJ

因为 webpack 进行打包的时候是运行在 nodejs, 而 nodejs 要开启模块化,需要在 package.js 文件配置 type=“module” ,但是由于开启了 ESM ,我们将失去CMJ 的支持,就找不到需要的 require 函数了。

# 常用配置

  • mode:指定打包后的运行环境,测试还是生产。(命令行和配置同时存在,将以命令行为准)
  • entry:默认是’src/index.js
  • output:是一个对象,默认导出到 dist 目录
    • name:指导出后的主文件名称默认是 main.js
  • devtool:调试工具
    • none 指使用 eval 的方式来暴露调试信息
    • sourcemap :完整的源代码。
    • eval-source-map:使用 base64 将源码嵌入进临时文件。
  • entry :入口 可配置多个入口(出口需要特殊配置)配置的是 chunk
    • main:‘./scr/index.js’ 默认
    • app:['./src/index.js','./src/app.js'] // 会按照顺序,执行代码。
  • output :出口
    • path :绝对路径 通过 path 模块 path.resolve(__dirname,'xxx')
    • filename: 生成文件的内容,

webpack.config.js 还支持使用函数的形式来进行配置。目的是灵活的接受命令行中的参数。