webpack的一些坑
最近自己着手做一个小的Demo需要webpack,目前版本号是4.41.2,想使用的版本是3.6.0,因3x版本和4x版本很多地方不同,所以在安装过程中也是很多坎坷,下面是遇到的一些坑,和一些解决办法
1.操作步骤:首先全局安装npm install -g webpack,再webpack -v查看版本号报错
解释报错信息:报错信息的意思是需要我安装 webpack-cli,问我是否需要安装,我选择yes,但提示并没有发现 模板webpack-cli
解决办法:全局安装 npm install -g webpack-cli
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找到报错信息处,将
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版本 // 推荐
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不推荐全局安装,可在项目中本地安装
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版本并不匹配,
Error: Cannot find module 'webpack'
webpack的一些坑的更多相关文章
- 后端路由项目由 gulp 改为 webpack 的踩坑实录
前言 公司有个后端路由的项目是用 gulp 作为前端自动化构建工具,最近学习了一下 webpack,深感其强大,一狠心将其改成了 webpack 构建,以下是踩坑实录. gulp 先来说说原来的架构. ...
- webpack 入门踩坑
参考来源:知乎张轩 安装 先装好node和npm,因为webpack是一个基于node的项目.然后 npm install -g webpack 全局安装 还可以在当前项目里面也安装一个webpack ...
- webpack 4 入坑及爬坑记录
一.安装 在本机安装好nodejs的基础上,window操作系统,cmd打开控制台,添加到创建的文件夹下 npm init //初始化npm npm install webpack --save-de ...
- webpack打包踩坑之TypeError: Cannot read property 'bindings' of null
file loader介绍:https://www.webpackjs.com/loaders/file-loader/ babel loader介绍:https://webpack.js.org/l ...
- webpack遇见的坑:Please install 'webpack-cli' in addition to webpack itself to use the CLI.
webpack-cli没被找到: 在webpack4.0之后,需要全局安装webpack-cli, 在全局安装webpack之后,cnpm i webpack-cli -g 在局部使用webpack时 ...
- webpack初学踩坑记
注意事项: 1. webpack不用装在全局环境下,在哪个项目中使用,就安装在该项目下即可 1. 问题一:npm init 初始化一个项目后,添加webpack.config.js文件,在该项目中通过 ...
- webpack 踩的坑
我是看着这篇博客学习的 http://www.jianshu.com/p/42e11515c10f# 看到loaders的时候,按照博主写法去试 结果报错....找了好久,上网查了好多 也看错误信息了 ...
- webpack入坑之旅(一)不是开始的开始
最近学习框架,选择了vue,然后接触到了vue中的单文件组件,官方推荐使用 Webpack + vue-loader构建这些单文件 Vue 组件,于是就开始了webpack的入坑之旅.因为原来没有用过 ...
- webpack多页面开发与懒加载hash解决方案
之前讨论了webpack的hash与chunkhash的区别以及各自的应用场景,如果是常规单页面应用的话,上篇文章提供的方案是没有问题的.但是前端项目复杂多变,应对复杂多页面项目时,我们不得不继续踩w ...
随机推荐
- 第五节:EF Core中的三类事务(SaveChanges、DbContextTransaction、TransactionScope)
一. 说明 EF版本的事务介绍详见: 第七节: EF的三种事务的应用场景和各自注意的问题(SaveChanges.DBContextTransaction.TransactionScope). 本节主 ...
- 机器学习之Artificial Neural Networks
人类通过模仿自然界中的生物,已经发明了很多东西,比如飞机,就是模仿鸟翼,但最终,这些东西会和原来的东西有些许差异,artificial neural networks (ANNs)就是模仿动物大脑的神 ...
- Prometheus 编写告警规则案例
Prometheus 编写告警规则案例 注:确保alertmanager配置完毕! 1.创建编辑文件:vim /usr/local/prometheus/rules/node.yml # groups ...
- Django学习——用户自定义models问题解决
一.问题在Django中使用自定义的model的时候会出现下面的错误 ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'Use ...
- Mysql系列(十二)—— 索引下推优化
索引条件下推(ICP)是对MySQL使用索引从表中检索行的情况的优化.如果没有ICP,存储引擎会遍历索引以查找基表中的行,并将它们返回给MySQL服务器,该服务器会评估WHERE行的条件.启用ICP后 ...
- Mysql中的变量
Mysql中的变量众多(即运行的配置),如:事务相关的.连接相关的.查询优化类的等等. 变量的作用域: 1.临时作用域 session级别:即打开一个与mysql server会话的基础上的作用域,变 ...
- 【IntelliJ IDEA】idea部署服务到Tomcat的工作原理
参考地址: https://blog.csdn.net/qq_41116058/article/details/81435084 为什么idea部署服务到tomcat时候,一定要修改Applicati ...
- SpringBoot整合PageHelper做多条件分页查询
https://yq.aliyun.com/articles/619586 本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的属性的中文解释 ...
- 2019-11-29-WPF-多个-StylusPlugIn-的事件触发顺序
原文:2019-11-29-WPF-多个-StylusPlugIn-的事件触发顺序 title author date CreateTime categories WPF 多个 StylusPlugI ...
- NSSM部署.Net Core到 Windows 服务
NSSM 官网http://www.nssm.cc/,下载地址http://www.nssm.cc/download 简单点理解就是NSSM可以把一些exe程序封装成Windows服务,然后exe程序 ...