что у меня есть foo.ts и app.ts следующим образом:использованием systemjs на node.js (& Angular 2)
foo.ts:
export interface Foo {
id: number;
label: string;
};
app.ts:
import {Foo} from './foo'
var myfoo: Foo = { "id": 1, "label": "One" };
console.log(JSON.stringify(myfoo));
После компиляции выполнение 'node app.js'
из командной строки выполняется, как ожидается, если я использую "module"="commonjs"
в своем tsconfig.json
. Вырезание на погоню, то, что я хотел бы сделать, это использовать мой интерфейс Foo
на стороне клиента с угловым 2 и на стороне сервера с узлом. Неудобно, Angular 2 quickstart, который я моделирую на here, хочет "module"="system"
в tsconfig.json
. Эта конфигурация приводит к ошибке при попытке запустить 'node app.js'
:
System.register([], function(exports_1) {
^
ReferenceError: System is not defined`
Я пытался следуя инструкции по использованию systemjs с узлом на github, но в данный момент я просто затирание ключи и может использовать некоторую помощь. Как мне (а) получить мой код app.ts, запущенный на стороне сервера, используя systemjs или поочередно, (b) получить ускоренную скорость Angular 2 с помощью commonjs?
Вы уверены, что включили «system.js» в свой html? Проверьте свои инструменты, чтобы убедиться, что загружены все файлы javascript. –
Это node.js на стороне сервера, запустите из командной строки. Клиент отлично работает с system.js и урок Angular 2 quickstart. Кроме использования Lite-сервера, как в учебнике, я использую Node (+ Express) для обслуживания страниц (+ веб-сервисы). Но я не могу заставить «систему» работать над кодом машинописного сервера, который хочет обмениваться интерфейсом Foo. То, что я ищу, представляет собой простой пример узла на стороне сервера, который использует «систему» вместо «commonjs». – Ken
Чтобы быть ясным, все работает отлично, если я пишу серверную часть в ES5 и традиционном javascript. Но я нажимаю на стену, пытаясь поделиться машинописным кодом как на клиенте, так и на сервере, с tsc -p. на весь клиент и серверный проект. – Ken