【问题标题】:angular2 (angular2-seed) using paths in imports avoiding ../../angular2 (angular2-seed) 在导入时使用路径避免 ../../
【发布时间】:2016-09-29 14:57:39
【问题描述】:

我正在使用 angular2-seed:https://github.com/mgechev/angular2-seed

如何创建一个变量来使用导入绝对链接而不是相对链接,像这样:

import { MyService } from '@shared/services/MyService';

代替:

import { MyService } from '../shared/services/MyService';

避免相对导入路径../../...

@angular 导入就是一个例子:

import { Component, OnInit, ViewEncapsulation } from '@angular/core';

它是如何定义的?我们可以为我们的共享文件夹做这样的事情吗?

【问题讨论】:

  • 您必须使用 .d.ts 文件公开您的模块。

标签: angular


【解决方案1】:

@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'}

    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2019-07-24
    • 2016-11-12
    • 2016-10-21
    相关资源
    最近更新 更多