本文整理汇总了TypeScript中@angular/platform-server.platformServer函数的典型用法代码示例。如果您正苦于以下问题:TypeScript platformServer函数的具体用法?TypeScript platformServer怎么用?TypeScript platformServer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了platformServer函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: function
return function (filePath: string, options: { req: Request, res?: Response }, callback: Send): void {
try {
const moduleFactory = setupOptions.bootstrap;
if (!moduleFactory)
throw new Error('You must pass in a NgModule or NgModuleFactory to be bootstrapped');
const extraProviders: any = setupOptions.providers.concat(
getReqResProviders(options.req, options.res),
[
{
provide: INITIAL_CONFIG,
useValue: {
document: getDocument(filePath),
url: options.req.originalUrl
}
}
]);
const moduleRefPromise = setupOptions.aot ?
platformServer(extraProviders).bootstrapModuleFactory(moduleFactory as NgModuleFactory<{}>) :
platformDynamicServer(extraProviders).bootstrapModule(moduleFactory as Type<{}>);
moduleRefPromise.then((moduleRef: NgModuleRef<{}>) => {
handleModuleRef(moduleRef, callback);
});
} catch (e) {
callback(e);
}
};
开发者ID:RootedGlobal,项目名称:ngx-universal-webpack-seed,代码行数:30,代码来源:express-engine.ts
示例2: beforeEach
beforeEach((done) => {
platformServer().bootstrapModuleFactory(MainModuleNgFactory).then((moduleRef: any) => {
mainModuleRef = moduleRef;
done();
});
});
开发者ID:AlmogShaul,项目名称:angular,代码行数:6,代码来源:util.ts
示例3: Promise
return new Promise((resolve, reject) => {
try {
const moduleOrFactory = options.ngModule;
if (!moduleOrFactory) {
throw new Error('You must pass in a NgModule or NgModuleFactory to be bootstrapped');
}
const extraProviders = options.providers.concat(
options.providers,
[
{
provide: INITIAL_CONFIG,
useValue: {
document: options.appSelector,
url: options.request.url
}
},
{
provide: ORIGIN_URL,
useValue: options.request.origin
}, {
provide: REQUEST,
useValue: options.request.data.request
}
]
);
const platform = platformServer(extraProviders);
getFactory(moduleOrFactory, compiler)
.then((factory: NgModuleFactory<{}>) => {
return platform.bootstrapModuleFactory(factory).then((moduleRef: NgModuleRef<{}>) => {
const state: PlatformState = moduleRef.injector.get(PlatformState);
const appRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);
appRef.isStable
.filter((isStable: boolean) => isStable)
.first()
.subscribe((stable) => {
// Fire the TransferState Cache
const bootstrap = moduleRef.instance['ngOnBootstrap'];
bootstrap && bootstrap();
// The parse5 Document itself
const AST_DOCUMENT = state.getDocument();
// Strip out the Angular application
const htmlDoc = state.renderToString();
const APP_HTML = htmlDoc.substring(
htmlDoc.indexOf('<body>') + 6,
htmlDoc.indexOf('</body>')
);
// Strip out Styles / Meta-tags / Title
const STYLES = [];
const SCRIPTS = [];
const META = [];
const LINKS = [];
let TITLE = '';
//let STYLES_STRING = htmlDoc.substring(
//htmlDoc.indexOf('<style ng-transition'),
//htmlDoc.lastIndexOf('</style>') + 8
//);
let STYLES_STRING: string = htmlDoc.indexOf('<style ng-transition') > -1
? htmlDoc.substring(
htmlDoc.indexOf('<style ng-transition'),
htmlDoc.lastIndexOf('</style>') + 8)
: null;
// STYLES_STRING = STYLES_STRING.replace(/\s/g, '').replace('<styleng-transition', '<style ng-transition');
const HEAD = AST_DOCUMENT.head;
let count = 0;
for (let i = 0; i < HEAD.children.length; i++) {
let element = HEAD.children[i];
if (element.name === 'title') {
TITLE = element.children[0].data;
}
if (element.name === 'script') {
SCRIPTS.push(
`<script>${element.children[0].data}</script>`
);
}
// Broken after 4.0 (worked in rc)
// if (element.name === 'style') {
// let styleTag = '<style ';
// for (let key in element.attribs) {
// if (key) {
// styleTag += `${key}="${element.attribs[key]}">`;
// }
//.........这里部分代码省略.........
开发者ID:SKorolchuk,项目名称:aspnetcore-angular2-universal,代码行数:101,代码来源:temporary-aspnetcore-engine.ts
注:本文中的@angular/platform-server.platformServer函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论