ng-docs.github.io
ng-docs.github.io copied to clipboard
angular如何调试源码(不是调试项目)?
就是编译github-angular后,成功了,但是想用编译好的替代官方编译的,失败报错.....
- 先是有个
.with-local-changes
的一个报错,然后我全局替换掉编译好的包中这个字段暂时Ok - 然后
npm i
(此时已经把package.json中的相关依赖包替换成自编译的),报错
npm ERR! path E:\Code\angular\testclass\demo-ng821\node_modules\.staging\@angular\compiler-cli-2c310fee\node_modules\ansi-regex
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'E:\Code\angular\testclass\demo-ng821\node_modules\.staging\@angular\compiler-cli-2c310fee\node_modules\ansi-regex' -> 'E:\Code\angular\testclass\demo-ng821\node_modules\.staging\ansi-regex-5d9e3628'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
- 再次野路子,把这个包还原为官方,通过了.......但是在
ng serve
中还是报错.......
WARNING in E:/Code/angular/git/angular/dist/packages-dist/core/fesm2015/core.js 34295:15-36
System.import() is deprecated and will be removed soon. Use import() instead.
For more info visit https://webpack.js.org/guides/code-splitting/
WARNING in E:/Code/angular/git/angular/dist/packages-dist/core/fesm2015/core.js 34325:15-102
System.import() is deprecated and will be removed soon. Use import() instead.
For more info visit https://webpack.js.org/guides/code-splitting/
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js
Module not found: Error: Can't resolve '@angular/common' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser-dynamic\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser/fesm2015/platform-browser.js
Module not found: Error: Can't resolve '@angular/common' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/router/fesm2015/router.js
Module not found: Error: Can't resolve '@angular/common' in 'E:\Code\angular\git\angular\dist\packages-dist\router\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js
Module not found: Error: Can't resolve '@angular/compiler' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser-dynamic\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js
Module not found: Error: Can't resolve '@angular/core' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser-dynamic\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser/fesm2015/platform-browser.js
Module not found: Error: Can't resolve '@angular/core' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/router/fesm2015/router.js
Module not found: Error: Can't resolve '@angular/core' in 'E:\Code\angular\git\angular\dist\packages-dist\router\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js
Module not found: Error: Can't resolve '@angular/platform-browser' in 'E:\Code\angular\git\angular\dist\packages-dist\platform-browser-dynamic\fesm2015'
ERROR in E:/Code/angular/git/angular/dist/packages-dist/router/fesm2015/router.js
Module not found: Error: Can't resolve '@angular/platform-browser' in 'E:\Code\angular\git\angular\dist\packages-dist\router\fesm2015'
几次三番的报错,我就感觉,是不是我的研究方向不太对? 本意就是看看angular的源码,某些地方是怎么实现的,因为静态分析代码,总有逻辑复杂或者猜错的成分,只能在官方代码中加些调试语句,看看是不是符合自己的想法,但是一直没跑通听费解的,google了一上午,也没到结果,不知道是不是关键词没选对还是国外大佬们都是自己研究自己的.... 同样问题也在stackflow提了,不知道有没有结果
不知道大佬们都是怎么来看angular的源码的,真是都纯静态分析吗?人形ida.........
其实没必要那么麻烦,我是拿源码和编译之后es6相结合的看,用源码梳理思路,用编译之后的es6验证思路
这里有文章可以参考一下: https://www.zhihu.com/question/336802797/answer/789236310
已经完全解决 问题就是............ 直接复制一份编译好的到项目中,而不是做软连接之类的 虽然我也不知道为啥这么坑爹,但是确实解决了 @asnowwolf