路由表示没有模板引擎的ng2

时间:2016-08-07 11:19:04

标签: javascript node.js express angular

我已经生成了默认的快速应用程序,我将其修改为在其app.js文件中包含以下行。

app.set('views', path.join(__dirname, '/views'));
app.engine('html', require('jade').renderFile);
app.set('view engine', 'html');
<。>在./views目录中,我最初有layout.jadeindex.jadeerror.jade。好的,到目前为止一切顺利。当项目运行时,我会显示索引或错误布局。

现在......我想添加一个最小的angular2安装,以便让ng2管理当前index.jade的1页应用程序。

所以我放了app.component.ts

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  template: '<h1>My First Angular 2 App</h1>'
})

export class AppComponent { }

in和main.ts文件:

import { bootstrap }    from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
bootstrap(AppComponent);

然后我将index.jade更改为index.html并添加:

<html>
  <head>
    <title>Angular 2 QuickStart</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="../public/stylesheets/style.css">
    <!-- 1. Load libraries -->
     <!-- Polyfill(s) for older browsers -->
    <script src="node_modules/core-js/client/shim.min.js"></script>
    <script src="node_modules/zone.js/dist/zone.js"></script>
    <script src="node_modules/reflect-metadata/Reflect.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <!-- 2. Configure SystemJS -->
    <script src="systemjs.config.js"></script>
    <script>
      System.import('app').catch(function(err){ console.error(err); });
    </script>
  </head>
  <!-- 3. Display the application -->
  <body>
    <my-app>Loading...</my-app>
  </body>
</html>

但是,使用html模板引擎和我的新error.htmlindex.html文件,我总是会看到错误页面,而不是我的ng2托管索引。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

现在最好的选择是使用ejs(引擎)并将其配置为接受和呈现html。

<强>代码:

app.set(&#39; views&#39;,path.join( __ dirname ,&#39; views&#39;));
app.set(&#39;查看引擎&#39;,&#39; ejs&#39;); //模板引擎

app.engine(&#39; html&#39;,require(&#39; ejs&#39;)。renderFile); //将引擎转为使用html

注意:您的所有视图或模板都应该是.html扩展名