ng-docs.github.io icon indicating copy to clipboard operation
ng-docs.github.io copied to clipboard

angular如何调试源码(不是调试项目)?

Open wszgrcy opened this issue 4 years ago • 3 comments

就是编译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.........

wszgrcy avatar Aug 10 '19 02:08 wszgrcy

其实没必要那么麻烦,我是拿源码和编译之后es6相结合的看,用源码梳理思路,用编译之后的es6验证思路

liutian avatar Sep 09 '19 03:09 liutian

这里有文章可以参考一下: https://www.zhihu.com/question/336802797/answer/789236310

asnowwolf avatar Sep 09 '19 06:09 asnowwolf

已经完全解决 问题就是............ 直接复制一份编译好的到项目中,而不是做软连接之类的 虽然我也不知道为啥这么坑爹,但是确实解决了 @asnowwolf

wszgrcy avatar Oct 14 '19 07:10 wszgrcy