我正在尝试使用Angular Template Compiler进行调查,我知道它处于早期阶段,但RC5的documentation已经提到了它。我创建了一个小的“hello,world”项目,我可以运行ngc
,但它永远不会生成.ngFactory.ts
个文件,我只看到.metadata.json
个文件。
您可以通过克隆angular 2 quickstart来查看它。运行$(npm bin)/tsc
工作正常,并将'app'目录中的typescript编译为带有地图文件的javascript。
接下来,我按照instructions并安装了节点模块(升级typescript):
npm install --save @angular/compiler-cli typescript@next
@angular/platform-server @angular/compiler
现在正在运行$(npm bin)/tsc
仍然有效并生成.js
和.js.map
个文件。我删除这些文件并运行$(npm bin)/ngc
,它会生成.js
和.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等)。 / p>