设置MEAN堆栈不呈现应用程序根

时间:2018-08-18 15:54:59

标签: node.js angular mean-stack

我正在尝试通过遵循此guide来建立基本的均值堆栈,但是客户端似乎并没有呈现应用程序,而是主体包含了

<body>
  <app-root></app-root>
</body>

文件结构与空白角度 cli项目完全相同,除了添加了两个额外的文件。

PLUS: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 buildnode server.js,但是在浏览器中出现了空白的白页。

也许是一个未知的重大变化,因为该指南使用的是angular2(我使用的是Angle 6)。

1 个答案:

答案 0 :(得分:0)

由于您的index.html不是直接位于dist文件夹中(而是出于某种原因,它位于子文件夹中),因此请尝试将app.use(express.static(__dirname + '/dist'));更改为app.use(express.static(__dirname + '/dist/<your project name here>'));