为什么Angular 2不会加载默认的app-root组件?

时间:2017-06-13 21:56:49

标签: node.js angular express angular-cli

我试图启动通过角度CLI生成的Angular应用程序,但似乎默认的app-root组件无法加载。需要说的是,我使用代理连接角度应用和快速服务器之间的连接,并且我同时运行两个脚本:node bin/www用于express / node.js start和{{ 1}}用于启动Angular并创建代理连接,它看起来像这样(package.json的一部分):

ng serve --proxy-config proxy.config.json

索引页面加载正常,但似乎"scripts": { "start": "concurrently --kill-others \"node bin/www\" \"ng serve --proxy-config proxy.config.json\"" } 组件(默认组件,从角度CLI app-root创建)没有加载: enter image description here 这是我的node.js / express ng new和一条路线:

use

我项目的结构(如果需要): enter image description here

我错过了什么?为什么默认的var express = require('express'); var router = express.Router(); var app = express(); var path = require('path'); app.use(express.static('./src/client/')); app.use(express.static('./')); app.use(express.static('./tmp')); app.use('/*', express.static(path.resolve('src/client/index.html'))); router.get('*', function(req, res) { res.sendFile(path.resolve('src/client/index.html')); }); module.exports = router; 组件无法加载? (需要说的是,当我运行app-root时,它会根据需要启动角度主页并且组件正常,所以我认为问题出在快递中。)

提前致谢

1 个答案:

答案 0 :(得分:5)

您应该提供dist/文件夹after calling ng build --prod (the --prod is important, as the default is --dev)的内容。所以,它会是这样的:

"scripts": {
  "start": "ng build --prod && node bin/www"
}

并且,或多或少地适应您的快递脚本:

app.use(express.static('./dist'));
app.use('/*', express.static(path.resolve('dist/index.html')));

router.get('*', function(req, res) {
    res.sendFile(path.resolve('dist/index.html'));
});