Angular : Uncaught ReferenceError: app is not defined
Angular : Uncaught ReferenceError: app is not defined
我正在尝试创建这个非常简单的 meanstack 应用程序,它几乎 运行 但是在重定向到索引页面时出现未捕获的引用错误。服务器 运行 正常。浏览器正在显示索引页面中的文本 (Loading..)。但是由于自定义标记应该与选择器一起转到 app.component.ts 并打印 "My First Angular App",所以它没有。相反,它在控制台中说 "app is not defined".
有人可以帮忙吗?我是 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);
});
将 app
放在引号中,因为 Javascript 认为 app 是一个变量,但它实际上应该是一个字符串。
我正在尝试创建这个非常简单的 meanstack 应用程序,它几乎 运行 但是在重定向到索引页面时出现未捕获的引用错误。服务器 运行 正常。浏览器正在显示索引页面中的文本 (Loading..)。但是由于自定义标记应该与选择器一起转到 app.component.ts 并打印 "My First Angular App",所以它没有。相反,它在控制台中说 "app is not defined".
有人可以帮忙吗?我是 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);
});
将 app
放在引号中,因为 Javascript 认为 app 是一个变量,但它实际上应该是一个字符串。