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 ...
随机推荐
- 关于 AutoResetEvent 的介绍的简单示例
关于 AutoResetEvent 的介绍的简单示例 直接贴代码了: class Program { static void Main(string[] args) { string result = ...
- python正确使用异常处理机制
一.不要过度使用异常 不可否认,Python 的异常机制确实方便,但滥用异常机制也会带来一些负面影响.过度使用异常主要表现在两个方面: 把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单 ...
- 通过SharpZipLib实现文件夹压缩以及解压
代码说明 基于SharpZipLib实现Zip压缩解压,扩展实现文件夹级别压缩解压: 项目源码:MasterChief.DotNet.Infrastructure.Zip Install-Packag ...
- C# 中 ==和equals的区别
不想说太多,直接上代码,这两个就没什么联系,有自己独立的规则.联系在一起其实不利于记忆. 下面是测试代码 Console.WriteLine("--equals和==的区别--") ...
- DatetimeHelper类的编写
公共类 DAtaTimeHelper类的编写 public class Appointment { public DateTime StartDate { get; set; } public Dat ...
- NetCoreApi框架搭建(二、Nlog使用配置)
本文只配置了简单文件存储 1.添加nuget包 2.添加日志配置文件nlog.config 这里配置了三个target区分不同的日志,具体配置需要自己研究,推荐链接https://www.cnblog ...
- 我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- 1 Python命令行参数(脚本神器)
#!/usr/bin/env python3.7 # -*- coding:utf-8 -*- # Author: Lancer 2019-09-02 10:07:21 import sys,geto ...
- APS系统如何落地?用户实际痛点解析!
APS软件在中国的发展,在很长的时间内处于非常尴尬的状态:大企业都了解APS很重要,但只有非常少的企业肯真正实施APS软件,处于叫好不叫座的状态.直到工业4.0概念流行后,APS才逐渐被国内企业所认可 ...
- 景点API支持查询携程旅游门票景点详情
门票景点详情,景点api支持查询携程旅游门票景点详情. 接口名称:景点api 接口平台:开放api 接口地址:http://api2.juheapi.com/xiecheng/senicspot/ti ...