我正在尝试创建这个非常简单的meanstack应用程序并且它几乎正在运行,但在重定向到索引页面时出现未被捕获的引用错误。服务器运行正常。浏览器在索引页面中显示文本(正在加载..)。但是由于自定义标签应该与选择器一起运行到app.component.ts并打印“我的第一个角度应用程序”,它不会。相反,它在控制台中说“应用程序未定义”。
有人可以帮忙吗?我是MEAN& amp;的新手Angular,如此精心制作。如果有任何(或许多)错误,请原谅我的愚蠢错误。
这是我的index.html
<html>
<head>
<title>MyTaskList</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.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>
这是我的app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: 'My First Angular App'
})
export class AppComponent { }
我的index.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next){
res.render('index.html');
});
module.exports = router;
最后是我的server.js(起点)
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var index = require('./routes/index');
var tasks = require('./routes/tasks');
var port = 3000;
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine','ejs');
app.engine('html', require('ejs').renderFile);
app.use(express.static(path.join(__dirname, 'client')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use('/', index);
app.use('/api', tasks);
app.listen(port, function(){
console.log('Server started on port '+port);
});
答案 0 :(得分:2)
将app
放在引号中,因为Javascript认为app是一个变量,但它实际上应该是一个字符串。