Angular 2是如何知道从哪里导入东西的?

3
我在查看 Angular 2 快速入门时,发现了这些代码片段位于 Angular 文件的顶部。
import {bootstrap}    from 'angular2/platform/browser';
import {AppComponent} from './app.component';

我的问题是,浏览器如何知道在哪里找到angular2/platform/browser./app.component?这些路径没有任何有意义的正确路径。

1个回答

2
当您导入angular2.dev.js时,一组模块会被明确地注册,使用System.register('module-name', ...
对于您的应用程序TypeScript文件,情况有些不同。在使用TypeScript编译器进行编译时,将在相应的JS文件中定义一个匿名模块。这意味着您需要配置SystemJS将模块名称与JS文件链接起来。
通过以下配置,它将推断以app开头的模块必须从URL加载。例如,import {...} from 'app/main';将对应于http://localhost:3000/app/main.js
System.config({
  packages: {      
    app: {
      format: 'register',
      defaultExtension: 'js'
    }
  }
});

“在相应的JS文件中定义了一个匿名模块”,你指的是什么? - CodyBugstein
匿名模块是一个使用System.register但没有模块名称作为第一个参数的JS文件。当systemjs被配置为模块管理器时,这是TypeScript编译器默认生成的内容。 - Thierry Templier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接