2

我正在尝试使用Angular 模板编译器来调查它,我知道它处于早期阶段,但 RC5 的文档已经提到它。我创建了一个小的“hello, world”项目,我可以运行ngc,但它从不生成.ngFactory.ts文件,我只看到一个.metadata.json文件。

您可以通过克隆angular 2 quickstart来查看它。运行$(npm bin)/tsc正常,并将'app'目录中的打字稿编译为带有地图文件的javascript。

接下来我按照说明安装了节点模块(升级打字稿):

npm install --save @angular/compiler-cli typescript@next 
@angular/platform-server @angular/compiler

现在运行$(npm bin)/tsc仍然有效并产生.js.js.map文件。我删除这些文件并运行$(npm bin)/ngc,它会生成.jsand.js.map文件以及两个新文件:

 app.component.metadata.json
 app.module.metadata.jason

看起来这些文件基本上包含来自装饰器的元数据:

{"__symbolic":"module","version":1,"metadata":{"AppComponent":
{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":
{"__symbolic":"reference","module":"@angular/core","name":"Component"},
"arguments":[{"selector":"my-app","template":
"<h1>My First Angular 2 App</h1>"}]}]}}}

ngc不会向控制台输出任何输出,而且我看不到任何ngFactory应该存在的文件。最初 typescript@next 给了我 2.1.0-dev.20160813,包说未满足的对等依赖期望 1.9.0 所以我安装了 1.9.0-dev.20160627-1.0 但我得到了相同的结果。我也试过$(npm bin)/ngc -p .哪个做同样的事情并$(npm bin)/ngc -p app给出一堆错误,因为它找不到 core-js 类型(Promise、Set、Map 等)。

4

0 回答 0