dva -react TypeError: root.findRouters(...).getRouterInfo is not a function
来源:互联网 发布:2015年网络零售总额 编辑:程序博客网 时间:2024/05/26 09:57
dva -react 入门
异常修改, 抛异常
C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\bin\dva-generate create routeComponent src/routes/Users.js, src/routes/Users.cssTypeError: root.findRouters(...).getRouterInfo is not a function at transform (C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\node_modules\dva-ast\lib\transform.js:42:32) at exports.default (C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\node_modules\dva-ast\lib\api\index.js:46:36) at C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\lib\generate.js:92:27 at generate (C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\lib\generate.js:108:11) at Object.<anonymous> (C:\Users\thinkpad\AppData\Roaming\npm\node_modules\dva-cli\bin\dva-generate:11:27) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3)
解决方法如下:
wenris referenced this issue in dvajs/dva-ast 14 days ago
OpenTypeError: root.findRouters(...).getRouterInfo is not a function #39
wenris commented 14 days ago •
已经在 dva-ast 打了臭虫报告,应该很快可以修复的。
dvajs/dva-ast#39
我已经找出 Bug 了,原因是 dva-ast 引用了 jscodeshift 的 Collection
,在 jscodeshift 新版本中这个 Collection
的位置发生了变化,从 'jscodeshift/dist/Collection';
变为了 'jscodeshift/src/Collection';
。
如果不想回滚 jscodeshift ,可以直接修改 dva-ast 的文件,将下面文件中的 'jscodeshift/dist/Collection';
改为 'jscodeshift/src/Collection';
即可:
- dva-ast/lib/collections/Entry.js
- dva-ast/lib/collections/RouteComponent.js
- dva-ast/lib/collections/Router.js
阅读全文
0 0
- dva -react TypeError: root.findRouters(...).getRouterInfo is not a function
- typeError: form.submit is not a function
- Uncaught TypeError: undefined is not a function
- Uncaught TypeError: string is not a function
- TypeError: e[h] is not a function
- Uncaught TypeError: object is not a function
- TypeError: jQuery(...).validationEngine is not a function
- TypeError: $(...).ajaxSubmit is not a function
- Uncaught TypeError: undefined is not a function
- Uncaught TypeError: undefined is not a function
- Uncaught TypeError: object is not a function
- Uncaught TypeError: boolean is not a function
- Uncaught TypeError: $(...).appendChild is not a function
- TypeError: Buffer.allocUnsafe is not a function
- typeError: $(...).ajaxSubmit is not a function
- jquery TypeError: $.widget is not a function
- Uncaught TypeError: sum is not a function
- Uncaught TypeError: search is not a function
- UVa401-Palindromes-回文词-字符函数,常量数组
- poj 2588
- android之服务service远程服务
- webpack+vue 实现多页面开发
- 05.15 三剑客之老四find命令详解
- dva -react TypeError: root.findRouters(...).getRouterInfo is not a function
- 关于在Windows10 Eclipse 配置Dos(cmd)窗口
- [Microsoft] Identical Binary Tree
- 简单粒子群优化算法的函数寻优
- 基于类实现的简易计算器
- python简单爬虫开发(urllib2、requests + BeautifulSoup)
- Makefile小细节
- STL的list成员函数
- css3之filter函数
wenris commented 14 days ago • edited
这个 bug 让我怀疑自己人生。问题的根源是,我们安装的 dva-cli > dva-ast > jscodeshift 的版本不对!
dva-ast 中使用了下面的代码:
Collection
是 jscodeshift 库提供的,dva-ast 的package.json
指定"jscodeshift": "^0.3.28"
,但 jscodeshift 最新版本是0.3.32
,这里 Bug 就出现了。虽然我发现了问题根源,但 dva-ast 和 jscodeshift 这两个库的源代码看得我云里雾里,望而生畏,杀虫的工作还是等高手吧。
我目前的解决方法是,将全局安装的 jscodeshift 回滚至
0.3.28
,初入江湖的我,人生还可以继续么?Roll your global package jscodeshift back to
v0.3.28
.