我正在使用angular2-seed:https://github.com/mgechev/angular2-seed
如何创建变量以使用导入绝对链接而不是相对,如下所示:
import { MyService } from '@shared/services/MyService';
而不是:
import { MyService } from '../shared/services/MyService';
避免相对导入路径../../...
这方面的一个例子是@angular import:
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
如何定义?我们可以为共享文件夹执行类似的操作吗?
答案 0 :(得分:0)
@angular是脚本库文件夹中文件夹的名称,对@
字符没什么特别的。
我猜想,为了根据需要导入模块,你应该在systemjs.config.js中将其定义为模块。
目前我使用的systemjs.config.js的一个例子是:
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
map: {
'app': 'app',
'rxjs': 'libraries/rxjs',
'@angular': 'libraries/@angular',
'ng2-bootstrap': 'libraries/ng2-bootstrap/',
'ng2-select': 'libraries/ng2-select',
'moment': 'libraries/moment/moment.js'
},
packages: {
'app': { main: 'main.ts', defaultExtension: 'ts'},
'rxjs': { main: 'Rx.js' },
'@angular/core': { main: 'index.js' },
'@angular/common': { main: 'index.js' },
'@angular/compiler': { main: 'index.js' },
'@angular/router': { main: 'index.js' },
'@angular/platform-browser': { main: 'index.js' },
'@angular/platform-browser-dynamic': { main: 'index.js' },
'@angular/http': { main: 'index.js' },
'ng2-bootstrap': { 'defaultExtension': 'js' },
'ng2-select': { main: 'ng2-select.js'}
}
});