angular – 无法从位于同一目录中的脚本解析index.ts中的导入
我正在研究用TypeScript 2编写的角度2项目,我目前面临着导入机制的问题.
我项目的每个子文件夹里面都有一个“index.ts”文件,即导出所述文件夹包含的类. 所以,在我的“app”目录中, > app.component.ts 然后,index.ts文件包含: export * from './app.component'; export * from './app.module'; export * from './app.routes'; 我的问题是我无法从位于同一目录中的文件导入导出的类. 例如,在我的app.module.ts中,我想导入应用程序组件. import { AppComponent } from './app.component'; 一切正常!编译时和运行时没有错误.生活很酷,生活很美好. 但我不能做到以下几点: import { AppComponent } from '.'; // or './',or even './index' IDE(Visual Studio)实际上正确解析了导入(它编译时没有错误).我甚至从Intellisence获得自动完成功能…… 但是我在运行时遇到这个错误: Error: Unexpected value 'undefined' imported by the module 'AppModule' 我只是不知道为什么. 注意:通过从子文件夹中的index.ts导入我没有任何错误(例如,我可以从也有索引的’./core’导入). 先感谢您 :)
我有
same issue.
你似乎有循环依赖. 当你写这个: import { AppComponent } from '.'; 解析器转到index.ts并看到: export * from './app.component'; 所以它转到./app.component并看到: import { AppComponent } from '.'; 所以它转到index.ts并看到: export * from './app.component'; 等等等等… 这有点奇怪的是,你没有得到任何警告,并且,根据加载程序,它可能实际上第二次正确解析(所以第一次你得到未定义但在后续调用它正确解析) – 我花了4个小时,因为一个远不那么明显的循环依赖.我强烈反对打字稿应该对这些事情发出警告,因为它是一种适当的蠕虫病毒. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |