webpack 安装 及 一些坑

 

1.操作步骤:首先全局安装npm install -g webpack,再webpack -v查看版本号报错

解释报错信息:报错信息的意思是需要我安装 webpack-cli,问我是否需要安装,我选择yes,但提示并没有发现 模板webpack-cli

解决办法:全局安装 npm install -g webpack-cli

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:

 - webpack-cli (https://github.com/webpack/webpack-cli)

   The original webpack full-featured CLI.

We will use "npm" to install the CLI via "npm install -D".

Do you want to install 'webpack-cli' (yes/no): yes

Installing 'webpack-cli' (running 'npm install -D webpack-cli')...

npm WARN webpack-demo@1.0.0 No description

npm WARN webpack-demo@1.0.0 No repository field.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ webpack-cli@3.3.10

updated 1 package and audited 5285 packages in 13.683s

found 0 vulnerabilities

Error: Cannot find module 'webpack-cli'

Require stack:

- C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js

    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)

    at Function.Module._load (internal/modules/cjs/loader.js:687:27)

    at Module.require (internal/modules/cjs/loader.js:849:19)

    at require (internal/modules/cjs/helpers.js:74:18)

    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js:143:5

    at processTicksAndRejections (internal/process/task_queues.js:93:5) {

  code: 'MODULE_NOT_FOUND',

  requireStack: [

    'C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\webpack\\bin\\webpack.js'

  ]

}

2.操作步骤:本地安装npm install webpack@3.6.0 --save-dev

 报错原因:因全局安装webpack版本4.41.2,全局版本与本地版本不一致,导致运行错误

 报错提示:webpack中 presetToOptions 报错

 解决办法:

  • 根据路径D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js找到报错信息处,将

    1

    const statsPresetToOptions = require("webpack").Stats.presetToOptions; 进行删除    //不推荐此方法,尽量我们不要去改源码

  • 可将webpack-cli删除,因webpack3x版本不依赖与webpack-cli,可手动配置信息,webpack4x很多内部已经配置完成,依赖的是webpack-cli   //该方法还需进一步测试,不确定是否是该问题
  • 可将全局安装的webpack版本4.41.2删除,再次全局安装3.6.0版本即可  // 因项目不同,webpack的版本也会不同,全局安装webpack不是好的推荐方法,大家在做一些Demo中可使用,不推荐项目中使用
  • 前端框架安装vue,react,angular时都会自动安装webpack,比如vuecli2使用的事webpack3x,vuecli3使用的是webpack4,大家可以根据自己选择的框架进行选择webpack版本   // 推荐

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

const statsPresetToOptions = require("webpack").Stats.presetToOptions;

                                                                             ^

TypeError: Cannot read property 'presetToOptions' of undefined

    at processOptions (D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:137:57)

    at D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:364:3

    at Object.parse (D:\web\Demo\webpack-demo\node_modules\yargs\yargs.js:567:18)

    at D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:49:8

    at Object.<anonymous> (D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:366:3)

    at Module._compile (internal/modules/cjs/loader.js:956:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)

    at Module.load (internal/modules/cjs/loader.js:812:32)

    at Function.Module._load (internal/modules/cjs/loader.js:724:14)

    at Module.require (internal/modules/cjs/loader.js:849:19)

    at require (internal/modules/cjs/helpers.js:74:18)

    at module.exports (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\import-local\index.js:16:66)

    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:15:6

    at Object.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:366:3)

    at Module._compile (internal/modules/cjs/loader.js:956:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)

    at Module.load (internal/modules/cjs/loader.js:812:32)

    at Function.Module._load (internal/modules/cjs/loader.js:724:14)

    at Module.require (internal/modules/cjs/loader.js:849:19)

    at require (internal/modules/cjs/helpers.js:74:18)

    at Object.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js:156:2)

    at Module._compile (internal/modules/cjs/loader.js:956:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)

    at Module.load (internal/modules/cjs/loader.js:812:32)

    at Function.Module._load (internal/modules/cjs/loader.js:724:14)

    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)

    at internal/main/run_main_module.js:17:11

  

 3.操作步骤:npm uninstall -g webpack 卸载全局webpack

解决办法:全局安装npm install -g webpack 

问题总结:webpack不推荐全局安装,可在项目中本地安装

1

2

3

4

5

6

7

8

9

10

11

12

internal/modules/cjs/loader.js:797

    throw err;

    ^

Error: Cannot find module 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js'

?[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)?[39m

?[90m    at Function.Module._load (internal/modules/cjs/loader.js:687:27)?[39m

?[90m    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)?[39m

?[90m    at internal/main/run_main_module.js:17:11?[39m {

  code: ?[32m'MODULE_NOT_FOUND'?[39m,

  requireStack: []

}

  

4.:操作步骤:安装了webpack3x,想实现热更新需要安装 npm install webpack-dev-server --save-dev后,npm run dev运行

报错提示:未找到webpack模块

解决办法:webpack-dev-server降低版本或webpack升级版本

     1. 删除webpack低版本,安装最新版本webpack

     2. 删除webpack-dev-server最新版本,降低webpack版本   npm install webpack-dev-server@webpack-3 --save-dev

问题总结:因webpack-dev-server未指定版本,所以安装的是最新版本,因webpack版本是3.x,所以导致webpack版本与webpack-dev-server版本并不匹配,

1

Error: Cannot find module 'webpack'

  

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack是一个现代化的打包工具,能够将前端项目中的各种资源文件(如JavaScript、CSS、图片等)进行打包、压缩和优化。但是在使用Webpack的过程中,也会遇到一些。以下是一些常见的Webpack版本点: 1. 版本兼容性问题:Webpack的不同版本之间可能存在一些差异,使用过程中需要注意版本兼容性问题。如果使用了不兼容的版本,可能会导致打包失败或者出现莫名其妙的错误。 2. 配置文件问题:Webpack的配置文件是一个非常重要的部分,但是有时候配置文件的书写可能会有一些。比如,配置文件的路径问题,配置项的写法问题等等。在使用Webpack时,需要仔细阅读官方文档,避免配置文件的。 3. 插件加载问题:Webpack的插件非常丰富,可以通过插件来实现各种各样的功能。但是有时候,插件的加载过程可能会出现问题。比如,插件的版本不匹配、插件的配置不正确等等。在使用插件时,需要注意插件的依赖关系和使用方式。 4. 代码拆分问题:Webpack支持将项目代码拆分成多个模块,以便实现按需加载和提高性能。但是在进行代码拆分时,需要注意拆分策略和代码引用的方式。如果拆分不当,可能会导致打包后的代码出现错误或者功能不正常。 5. 资源路径问题:Webpack会根据配置文件中的output配置项来确定输出文件的路径。但是有时候,由于配置不正确或者路径问题,会导致资源文件的引用路径错误。在配置路径时,需要注意当前的路径和输出路径的关系。 在使用Webpack的过程中,要及时查阅官方文档、浏览社区论坛,并且多做实践来避免以上几个。只有熟练掌握Webpack的使用方法,才能更好地利用它来优化前端项目。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值