• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

webpack和webpack-cli的关系

武飞扬头像
亮学长
帮助1

webpack-cli 只是处理参数,且执行webpack命令

  1. npm install webapck webpack-cli --save-dev

  2. "scripts": { "build": "webpack --config wk.config.js" }

  3. 当在命令行中执行 npm run build 时,会执行node_modules/.bin下的webpack可执行文件学新通

  4. 我们看下上面webpack文件的内容学新通

  5. 从代码中可以看到,会执行node_modules/webpack/bin/ 目录下的webpack.js,该文件主要代码如下:学新通

  6. 该文件最重要的函数就是 runCli ,该函数可以执行 webpack-cli 包中bin目录下的cli.js 文件,也就是说在此之前的步骤只是为了找到cli.js文件,在此之后,webpack-cli 才发挥作用。

  7. 同时,webpack.js 文件也做了一些辅助判断,首先查看你是否安装了webpack-cli,如果没有安装,就会询问你是否安装(或手动安装)该包,如果选择不安装,那么程序运行到这就停止了。

  8. 接着打开webpack-cli/bin/cli.js学新通

  9. 该文件的主要函数为 runCLI,而 runCLI 又来自 bootstrap.js 文件,打开 bootstrap.js 文件学新通

  10. new WebpackCLI(),然后继续调用实例的run方法学新通

  11. 在constructor内,获取了webpack包的函数库学新通

  12. 注意,到了这里才真正用到了 webpack-cli 暴露出的接口,cli.run(args) 用来处理命令行参数,此时args参数为:学新通

  13. 最终,从以上整个过程,我们可以知道 webpack-cli 是用来处理命令行参数,并通过参数构建 compiler 对象,然后才是对代码进行打包的过程。

  14. 所以说,webpack-cli对于文件打包不是必需的。

  15. 既然 webpack-cli只是为了处理命令行参数,那我们同样可以构建自己的cli来处理参数,比如 lyx-cli。在第三方框架中,React 和 Vue(未使用Vite的版本)也没有使用 webpack-cli.

  16. 自己写代码替换webpack-cli,咱们在webpack源码下做实验学新通

  17. zanlan/src/utils/math.js学新通

  18. zanlan/src/main.js学新通

  19. zanlan/build.js 学新通

  20. zanlan/webpack.config.js学新通

  21. 执行node zanlan/build.js,可以看到在zanlan文件夹下生成了build文件夹,在内部有bundle.js,bundle.js.map两个文件。

  22. webpack启动流程图学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiabakb
系列文章
更多 icon
同类精品
更多 icon
继续加载