角度导入语句中Dot(.)的含义是什么

opt*_*nal 3 javascript ecmascript-6 angular

我是角度2的新手,并遵循角度2快速入门指南.我试图了解角度应用程序的目录结构.我正在使用npm来构建应用程序.我在角度2中遇到了import语句

例如

import {NgModule} from '@angular/core';
Run Code Online (Sandbox Code Playgroud)

我找到了映射的sytemjs.config.js文件

'@angular/core': 'npm:@angular/core/bundles/core.umd.js'
Run Code Online (Sandbox Code Playgroud)

哪里

'npm:': 'node_modules/'
Run Code Online (Sandbox Code Playgroud)

npm:是node_module文件夹的别名.

但是当我使用我的自定义组件(由用户制作)并导入它时

import {AppComponent} from './app.component';
Run Code Online (Sandbox Code Playgroud)

点(.)在这里表示的是它表示映射为的app文件夹

app: 'app',
Run Code Online (Sandbox Code Playgroud)

nem*_*035 10

点与angular无关,它只是意味着当前目录.

例如,如果您有两个这样的文件

app
  file1.js
  file2.js
Run Code Online (Sandbox Code Playgroud)

然后在里面app/file1.js:

import './file2'
Run Code Online (Sandbox Code Playgroud)

这将告诉您的模块加载器file2.jsapp目录中查找,因为这是当前目录file1.js.

您还可以使用..查看父目录.

这是从Rahul Tripathi获得的点定义的一个很好的解释:

在类Unix操作系统上,每个目录至少包含一个由单个点表示的对象,另一个由两个连续的点表示.前者指的是目录本身,后者指的是其父目录(即包含它的目录).这些项目在每个目录中自动创建,可以通过使用带有-a选项的ls命令(指示它显示其所有内容,包括隐藏项目)来查看.