【问题标题】:Setting up MEAN stack not rendering app-root设置 MEAN 堆栈不呈现 app-root
【发布时间】: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 buildnode 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/&lt;your project name here&gt;'));
  • 就是这样。发布解决方案,我会接受。干杯!

标签: node.js angular mean-stack


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2017-07-04
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    相关资源
    最近更新 更多