Мы используем Sails.js для бэкэнда нашего приложения, с угловым 2 на переднем конце. Перед выпуском Angular 2 rc1 все работало отлично. Я начал модернизировать и ударил несколько коряг.Угловые 2 и Sails.js
Во-первых, мы не имеем доступа к чему-либо в папке node_modules
с переднего конца. Поэтому, чтобы добиться этого, у нас есть задача gulp, которая принимает node_modules
, который нам нужен, например, @angular/
, rxjs/
и zone.js
. Кажется, это работает. Когда я ссылаюсь на js/dependencies/zone.js/dist/zone.js
в HTML-файл, он отлично переносит файл. Но тогда, когда вы настраиваете SystemJS, файлы, похоже, не работают правильно.
var System;
(function(global) {
// map tells the System loader where to look for things
var map = {
'app': 'js', // 'dist',
'rxjs': 'js/dependencies/rxjs',
// 'angular2-in-memory-web-api': 'angular2-in-memory-web-api',
'@angular': 'js/dependencies/@angular',
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
// 'angular2-in-memory-web-api': { defaultExtension: 'js' },
// '/angular2-jwt': { defaultExtension: 'js' }
};
var packageNames = [
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router',
'@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);
Это конфигурационный файл, который я использовал для настройки SystemJS. Однако rxjs
и @angular
не втягиваются SystemJS. Ошибки исчезли с консоли в браузере, но приложение, безусловно, не загружается.
Есть ли другой способ получить файлы @angular
, которые будут доставлены SystemJS? Какие еще варианты я могу получить, чтобы приложение Angular 2 работало с Sails?
**** EDIT ****
Here is a gist с systemjs.config.js
файла, файл layout.ejs
, и файл main.ts
.
Я делаю то же самое, редактируя задачу копирования grunt, но я заметил, когда я поднимаю сервер в первый раз, когда зависимости не отражают. Если я остановлю сервер и запустил его снова, там будут зависимости. –