Javascript 他给了我一句话;TypeError:回调[i]不是函数;当我;ng serve“;
我只是重新安装了Angular CLI以进行试用,对于命令行上出现以下错误的原因我一无所知:Javascript 他给了我一句话;TypeError:回调[i]不是函数;当我;ng serve“;,javascript,angular,npm,angular-cli,Javascript,Angular,Npm,Angular Cli,我只是重新安装了Angular CLI以进行试用,对于命令行上出现以下错误的原因我一无所知: PC:cobros Fran$ ng serve ** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ ** 95% emitting/Users/Fran/Documents/Workspace/Repos/cobros/node_mo
PC:cobros Fran$ ng serve
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
95% emitting/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40
callbacks[i](err, result);
^
TypeError: callbacks[i] is not a function
at Storage.finished (/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40:15)
at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:77:9
at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/graceful-fs/polyfills.js:287:18
at FSReqWrap.oncomplete (fs.js:153:5)
这是我尝试“ng-v”时返回的信息(以防有用):
“增强解析”模块甚至可以做什么?
我安装错了吗?我按照中的说明进行操作,并确保满足了先决条件。尝试卸载并重新安装Angular CLI: 全球方案:
npm卸载-g@angular/cli
npm缓存清理
如果npm版本>5,则使用
npm缓存验证以避免错误(或避免使用--force)
npm安装-g@angular/cli@latest
本地项目包:
rm-rf node_modules dist#在Windows命令提示符下使用rmdir/S/Q node_modules dist;在Windows PowerShell中使用rm-r-fo节点_模块,dist
npm安装--保存dev@angular/cli@latest
npm安装
编辑:问题现已解决,因此无需再使用此解决方法
将
@angular/cli
升级到1.6.8
后发生
解决方案:问题在于复制网页包插件
()
npm我复制网页包-plugin@4.3.1--保存开发人员
帮助
注意:之前提供的解决方案是将cli降级到1.6.7,这没有帮助。遵循github.com/angular/angular-cli/issues/9550(感谢@oers在评论中提供的链接) 我刚刚将Anuglar CLI降级为1.6.7版 要这样做,只需键入
npm卸载-g@angular/cli
一旦它完成安装以前的版本
npm安装-g@angular/cli@1.6.7
注意:这将起作用,但这只是一个临时解决方案,他们可能——希望如此——对此进行了热修复
编辑:事实上,我尝试了一个错误的项目,该项目没有使用CLI,再试了一次,但它不起作用。如果您遵循github线程,它看起来很重要,因为它不适用于CLI 1.5.x或1.6.x(没有尝试其他项目)。看起来我们唯一能做的就是调试或者静坐等待
哎呀 编辑:该问题现已修复,因此无需再使用此解决方法
找到解决方案(解决方案) 将“复制网页包插件”:“4.3.0”添加到您的package.json
谢谢@neshkatrapati我也有同样的问题,这个命令为我创造了奇迹
npm install copy-webpack-plugin@4.3.1
正如这里所说,这是一个复制网页插件的问题
这可以通过执行
npm安装拷贝网页来解决-plugin@4.3.0
运行此命令npm install copy webpack-plugin@4.3.0编辑
只需执行纱线升级
有一个版本的copy_webpack_plugin修复了这个bug(4.4.1),所以这应该是解决这个问题的首选。使用npm,npm--depth 9999 update
应该能够递归地更新所有依赖项
关于npm更新的深度参数:
截至npm@2.6.1,npm更新将仅检查顶级软件包。以前版本的npm还将递归地检查所有依赖项。要获取旧行为,请使用npm--depth 9999 update
原始答复如下:
解决方案
说明:
- 我们删除节点_模块和锁文件
- 我们仅将复制Web包插件指定为对等依赖项(选项
),并具有确切版本(选项-O
)-E
- 我们安装node_模块
- 回调[i](错误,结果);
^
TypeError:回调[i]不是函数
解决方案:-
npm安装副本网页包-plugin@4.3.0如果npm安装复制网页包-plugin@4.3.1无法尝试外接程序包.json: “可选依赖项”:{ “复制网页包插件”:“4.3.1” }, “决议”:{ “复制网页包插件”:“4.3.1”
}这个问题现在应该通过刚刚发布的v4.4.1解决。
尝试此命令->npm安装复制网页包-plugin@4.3.0解决了我的问题昨天我用CLI创建了一个应用程序,它成功了,我再次尝试了一个新的应用程序,这次它崩溃了,我想发生了一些更新,也许这有助于今天有人在升级@angular到最新版本(5.2.4)后向我求助和cli到1.6.8。链接到cli 1.6.8发行版(未提及突破性更改)哈哈,我想我只是选择了最糟糕的时刻来尝试Angular cli,然后我想无论谁说“这是一个已知错误”以及如何降级这件事的说明,都会得到最重要的答案。仍然BrokerNode没有帮助。我不得不降级到1.6.7,直到AngularCli团队解决这个问题(请参阅)。您可能有一个输入错误-您正在卸载两个。这对我不起作用,是我错过了一个技巧还是每个人都是这样?它不起作用,请参阅编辑(这就是为什么我取消了你的编辑,在你提交编辑之前我已经编辑过了,但是谢谢!)npm安装副本网页包-plugin@4.3.0Must安装cli后完成-在我的实例中,是的。angular cli 1.3版本也确实可以使用复制网页包更改,但是我可以想象,对于许多人来说,这不是一个解决方案。不要使用解决方案,angular团队现在解决了它。看起来他们已经解决了它,我刚刚测试了创建一个a使用CLI从头开始使用pp,效果良好
npm install copy-webpack-plugin@4.3.1
rm -rf node_modules package-lock.json
npm i copy-webpack-plugin@4.3.1 -E -O
npm i