angular2(angular2-seed)使用导入路径避免../../

时间:2016-05-31 14:23:17

标签: angular

我正在使用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';

如何定义?我们可以为共享文件夹执行类似的操作吗?

1 个答案:

答案 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'}

    }
});