假设我有一个 foo.ts 和 app.ts 如下:
foo.ts:
export interface Foo {
id: number;
label: string;
};
应用.ts:
import {Foo} from './foo'
var myfoo: Foo = { "id": 1, "label": "One" };
console.log(JSON.stringify(myfoo));
编译后,如果我在我的 tsconfig 中使用
。切入正题,我想做的是将我的 "module"="commonjs"
,从命令行执行 'node app.js'
会按预期运行.jsonFoo
接口(interface)客户端与 Angular 2 一起使用,并将服务器端与 Node 一起使用。不方便的是,我正在建模的 Angular 2 快速入门 here在 tsconfig.json
中需要 "module"="system"
。此配置在尝试运行 'node app.js'
时导致错误:
System.register([], function(exports_1) {
^
ReferenceError: System is not defined`
我已尝试按照说明在 github 上将 systemjs 与 Node 一起使用,但在这一点上,我只是在捣碎 key ,需要一些帮助。我如何 (a) 使用 systemjs 在服务器端运行我的 app.ts 代码,或者 (b) 使用 commonjs 运行 Angular 2 quickstart?
最佳答案
我将用一个答案来结束这个问题,即使这个问题还没有被投票。解决方案似乎是使用 Gulp 为客户端(“module”="system")和服务器("module"="commonjs")以不同方式编译通用 typescript 代码(如接口(interface) Foo)。如果有一种方法可以使用“模块”=“系统”在OP中编译 typescript 代码,我仍然想知道。但这似乎有点学术性,因为无论如何每个人都使用 Gulp 或类似的东西来管理他们的项目。
关于node.js - 在 node.js(和 Angular 2)上使用 systemjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34394972/