为什么 webpack -v 不显示版本号

为什么 webpack -v 不显示版本号

webpack -v 命令可以用来显示webpack、webpack-cli、webpack-dev-server的版本信息的,如下:

System:
    OS: Windows 10 10.0.19045
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 5.63 GB / 15.73 GB
  Binaries:
    Node: 18.18.0 - E:\node-v18.18.0-x64\node.EXE
    npm: 9.8.1 - E:\node-v18.18.0-x64\npm.CMD
  Browsers:
    Edge: Chromium (122.0.2365.66)
    Internet Explorer: 11.0.19041.3636
  Packages:
    webpack: ^5.90.3 => 5.90.3
    webpack-cli: ^5.1.4 => 5.1.4
    webpack-dev-server: ^5.0.2 => 5.0.2

但是有时候 webpack -v的输出缺少上面的 Packages 项,很多博客中都说是这是因为没有安装成功,其实用户已经成功了。

问题的关键所在是因为 webpack -v命令是从package.json中读取配置信息的,而全局安装的webpack所在的文件夹没有相应的package.json文件,所以输出没有Packages 项。

  System:
    OS: Windows 10 10.0.19045
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 6.04 GB / 15.73 GB
  Binaries:
    Node: 18.18.0 - E:\node-v18.18.0-x64\node.EXE
    npm: 9.8.1 - E:\node-v18.18.0-x64\npm.CMD
  Browsers:
    Edge: Chromium (122.0.2365.66)
    Internet Explorer: 11.0.19041.3636

我们可以做一个实验:

1. 新建一个文件夹——tt

2. cd  tt,然后 npm init 初始这个文件夹,此时package.json 中的 dependencies、devDependencies 不存在或为空。

3.  npm  install webpack webpack-cli webpack-dev-server,下载到当前项目的 dependencies中(下载到 devDependencies 中也可以)

4. npx webpack -v,执行当前项目的webpackml,输出相应的包信息。

  System:
    OS: Windows 10 10.0.19045
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 5.90 GB / 15.73 GB
  Binaries:
    Node: 18.18.0 - E:\node-v18.18.0-x64\node.EXE
    npm: 9.8.1 - E:\node-v18.18.0-x64\npm.CMD
  Browsers:
    Edge: Chromium (122.0.2365.66)
    Internet Explorer: 11.0.19041.3636
  Packages:
    webpack: ^5.90.3 => 5.90.3
    webpack-cli: ^5.1.4 => 5.1.4
    webpack-dev-server: ^5.0.2 => 5.0.2

我们还可以做其他的一些实验:

1. 将上面的package.json文件拷贝到全局模块的文件夹中,然后 webpack -v 也会有输出;

其他问题解答:

vue3 集成了webpack,所以我们下载vue3时也会下载 webpack,但是webpack是作为vue的依赖包存在的,不是当前项目的直接依赖包,所以当前项目的 package.json的dependencies 中不会存在webpack版本信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值