Я не знал, как сформулировать вопрос ... Итак, в основном я пишу свое приложение, используя Angular 2 with Bookscript. Я хотел бы сделать возможным импортировать мои модули так, как мы делаем с Angular, где мы можем импортировать несколько связанных модулей в одну строку. Например, мы могли бы сделать это в angular2 бета:Угловой 2 комплект как импорт/Импорт нескольких модулей
import { Component, OnInit, Input } from 'angular2/core';
Я хотел бы сделать что-то подобное с моим приложением. Например:
import { UserService, RoleService } from 'my-project/services';
Кроме того, я хочу, чтобы иметь возможность делать то же самое для моделей, труб, деталей и т.д. ...
Еще одна вещь, структура папок будет что-то вроде этого :
SRC/приложения/услуги
SRC/приложения/компоненты
SRC/приложение/модели
SRC/приложение/трубы
То, что я пытался сделать: На пути Src/приложения, я создал на файл для каждого 'пучка', как services.d.ts, models.d.ts, pipes.d.ts ... А потом я попытался отобразить на SystemJS конфигурации, например, так:
(function(global) {
// map tells the System loader where to look for things
var map = {
'app': 'src/app', // 'dist',
'rxjs': 'node_modules/rxjs',
'my-project/components': 'src/app/components',
'my-project/services': 'src/app/services',
'my-project/models': 'src/app/models',
'my-project/pipes': 'src/app/pipes',
'@angular': 'node_modules/@angular'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { format: 'register', main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
};
var packageNames = [
'my-project/components',
'my-project/services',
'my-project/models',
'my-project/pipes',
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router-deprecated',
'@angular/testing',
'@angular/upgrade',
];
// add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
packageNames.forEach(function(pkgName) {
packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
});
var config = {
map: map,
packages: packages
};
System.config(config);
})(this);
проблема заключается в Visual Studio код не признает импорт в моем .ts файлах. В нем говорится, что он не может найти модуль.
Вы пытаетесь импортировать их с относительными путями или по всему миру? – Jeff
Я хочу избежать необходимости делать что-то вроде импорта {MyService} из «../../../services». Отвечая на это: я пытаюсь импортировать глобально (import {MyService} из «my-project/services». – digaomatias
У вас есть github или что-то в этом роде? Мне пришлось конвертировать javascript-библиотеку, которую я использовал в TS, и загружать он до npm ... не лучший, но он сработал. – Jeff