【发布时间】:2019-01-25 09:03:24
【问题描述】:
我正在尝试按照guide 设置一个基本的平均堆栈,但客户端似乎没有呈现应用程序,而是正文包含,
<body>
<app-root></app-root>
</body>
文件结构与blank angular cli项目完全相同除了增加了两个额外的文件。
加号:npm install --save ejs cors express body-parser
routes/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 cors = require('cors')
var index = require('./routes/index');
// app
var app = express();
// cors
app.use(cors());
// views
app.set('views', path.join(__dirname, 'src'));
// engine
app.set('view enginer', 'ejs');
app.engine('html', require('ejs').renderFile);
// angular dist
app.use(express.static(__dirname + '/dist'));
// body bodyParser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
// route
app.use('/', index);
// Initialize the app.
var server = app.listen(process.env.PORT || 3000, function () {
var port = server.address().port;
console.log("App now running on port", port);
});
我运行了ng build 和node server.js,但在浏览器中得到一个空白页。
也许有一个我不知道的重大变化,因为该指南使用的是 angular2(我使用的是 angular 6)。
【问题讨论】:
-
dist文件夹中有什么? -
一个带有项目名称的文件夹,然后在其中 > index.html、styles.js、vendor.js 和其他几个。谢谢
-
由于您的
index.html不在dist文件夹内(而是在子文件夹内),请尝试将app.use(express.static(__dirname + '/dist'));更改为app.use(express.static(__dirname + '/dist/<your project name here>')); -
就是这样。发布解决方案,我会接受。干杯!
标签: node.js angular mean-stack