Angular 2 AoT编译器:没有错误,但肯定是错误的

时间:2016-09-08 05:22:14

标签: angular typescript deployment compilation

我已经在这脑子里敲了3天,试图将我的Search: <asp:TextBox ID="txtSearch" runat="server" /> <asp:Button Text="Search" runat="server" OnClick="Search" /> <hr /> <br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" CssClass="footable" OnRowDeleting="DeleteRecord" EmptyDataText="There are no data records to display." CellPadding="4" ForeColor="#333333" GridLines="None"> <AlternatingRowStyle BackColor="White" /> 应用程序的Ahead-of-Time编译工作。

应用程序使用即时编译编译并运行得很好。

我已安装所有依赖项,运行Angular 2 rc.6(编译器),将ngc更改为使用main.ts,然后再次运行platformBrowser()

控制台中没有错误。生成ngc个文件。 .ngfactory.ts文件也是。到现在为止还挺好。这是我的结构(这是一团糟,但我会解决这个问题,如果我能做到这一点)

directory structure

该应用耗尽了.js。问题是,一旦我更新dist/并将systemjs.config.jsmap['app']更改为dist并运行应用程序,事情就会快速下滑。

第一个出现问题的迹象是,虽然我预计使用AoT会大幅减少HTTP请求的数量和数据量,但事实恰恰相反。我现在在bootstrap上有200多个请求!

其次,即使编译过程中没有错误,应用程序也不会运行。我在路径dist/dev处获得404 not found。什么?为什么涉及http://localhost/traceur?是不是用于浏览器内部的翻译?我在哪里可以开始寻找错误的原因?

1 个答案:

答案 0 :(得分:-1)

同样,我遵循官方指南,使用systemjs作为我的装载机并使用UMD捆绑包。但那不能正确映射!所以我重新配置了我的systemjs设置,并设法获得所有包。但是现在traceur.js是唯一缺少的包。那是什么?!

编辑:所以我在systemjs中映射了tracuer,就像这样:

'traceur':'node_modules / traceur / src / traceur'

但是......现在我的页面上没有显示任何内容。我相信我对包的整个配置是错误的,因为我的应用程序为什么要求使用UMD包正确映射的包?