我试图在现有的打字稿项目中使用Angular,在这里我使用browserify捆绑实际的应用程序。
现在,我基本上只是从设置教程中重新构建了该应用程序,并设法使其全部正常工作:
angular / app / app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<h1>Hello {{name}}</h1>`
})
export class AppComponent { name = 'Angular'; }
angular / app / app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
imports: [BrowserModule],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
angular / app / main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
export function render () {
platformBrowserDynamic().bootstrapModule(AppModule);
}
最后是我的Bundle-facade,它通过browserify编译为标准的斯坦顿束:
我的应用
import { render } from "./angular/app/main";
export = {
testAngular: render // This is the function that I call in my HTML page
}
令我感到困扰的唯一事情是我必须添加
<script src="path/to/zone.js"></script>
<script src="path/to/Reflect.js"></script>
到每个使用我捆绑的angular模块来消除由于我的angular应用中的类装饰器而导致的错误的html页面:
使用类装饰器时,需要未捕获的反射元数据填充程序
是否可以通过某种import语句摆脱这种情况或将这两个模块都包含在我的捆绑包中?
还是有其他最佳实践来解决这些垫片所解决的问题?
我设法通过添加解决
import 'zone.js';
import 'reflect-metadata';
在my-app.ts
(由捆绑包根文件)的(!!)上。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句