这是我的文件夹结构:
projectRoot
projectRoot/app
projectRoot/app/main.ts
projectRoot/app/factoryClasses/Person.ts
projectRoot/node_modules/*angular 2 files*
在我的main.ts中是一个导入语句
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
import { Person } from './factoryClasses/Person.ts';//this works
import { Person } from 'factoryClasses/Person.ts';//this doesn't
platformBrowserDynamic().bootstrapModule(AppModule,TestModule);
我的 main.ts 在应用程序/文件夹中,但为什么 main.ts 在projectRoot/node_modules/factoryClasses/Person.ts
中查找文件 而不是projectRoot/app/factoryClasses/Person.ts
?顺便说一下,这是从 angular.io 快速入门开始的。
在tsconfig.json文件中,你会看到其中一个属性是"moduleResolution"。 如果将其设置为"node"(除非你已更改,否则快速入门会执行此操作),则 将使用 nodejs 规则来解析相对路径。
{
...
"moduleResolution": "node",
...
}
您可以在此处阅读有关它的更多信息。