【发布时间】:2017-11-08 19:36:04
【问题描述】:
我正在尝试创建这个非常简单的 meanstack 应用程序,它几乎可以运行,但在重定向到索引页面时出现未捕获的引用错误。服务器运行正常。浏览器在索引页面中显示文本(正在加载..)。但是由于自定义标签应该与选择器一起出现在 app.component.ts 并打印“我的第一个 Angular 应用程序”,它没有。相反,它在控制台中说“未定义应用程序”。
有人可以帮忙吗?我是 MEAN 和 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);
});
【问题讨论】:
-
可以将应用放在引号中..?也许您的应用程序文件不在根目录中
-
@Wernerson :非常感谢老兄。它起作用了(将应用程序放在引号中)。没想到,可能是这个原因。
-
如果您能支持我的回答并将其标记为已接受,我会很高兴 :)
-
解决了我的问题,谢谢
标签: javascript html angular mean-stack mean