Angular 2 Universal – 服务器端渲染与手写笔和帕格模板

前端之家收集整理的这篇文章主要介绍了Angular 2 Universal – 服务器端渲染与手写笔和帕格模板前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Angular2,打字稿,手写笔(用于css)和pug(用于html模板)构建应用程序.

但是,我无法使用Angular2 Universal.

问题是我使用ts节点来运行我的服务器代码,每当我导入我的App组件时,都会发生错误.

server.ts(node / express):

import 'angular2-universal/polyfills';

import * as path from 'path';
import * as express from 'express';
import * as bodyParser from 'body-parser';


// Angular 2 Universal
import {
  provide,enableProdMode,expressEngine,REQUEST_URL,ORIGIN_URL,BASE_URL,NODE_ROUTER_PROVIDERS,NODE_HTTP_PROVIDERS,ExpressEngineConfig
} from 'angular2-universal';

// Application
import {App} from './app/modules/app';

发生错误

app/modules/app/app.styl:2 margin-bottom: 10px
^ SyntaxError: Unexpected token :

app.ts

import {Component,ViewEncapsulation} from '@angular/core';
import {RouteConfig,Router,ROUTER_DIRECTIVES} from '@angular/router-deprecated';

import {Home} from '../home';


/*
 * App Component
 * Top Level Component
 */
@Component({
  selector:      'app',pipes:         [ ],providers:     [ ],directives:    [ ],encapsulation: ViewEncapsulation.None,styles:        [
    require('./app.styl')
  ],template: require('./app.pug')
})

app.styl

input
  margin-bottom: 10px

另一种方法是运行构建代码(由webpack生成).但是我怎么能这样做,因为代码是由webpackjsonp函数包装的.

解决方法

您可以使用预编译来使用手写笔:手写笔 – > css – >样式:[require(.css)].

模板也可以预编译或处理如下:

function compile(template:string)
{
      pug.compile(template,{});
}

//component definition
template: compile(require('template.pug'))

猜你在找的Angularjs相关文章