gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:26:39 25 4
gpt4 key购买 nike

我正在尝试启动通过 Angular CLI 生成的 Angular 应用程序,但似乎没有加载默认的 app-root 组件。需要说明的是,我正在使用代理连接 angular 应用程序和 express 服务器,并且同时运行两个脚本: node bin/www for express/node.js start 和ng serve --proxy-config proxy.config.json 用于启动 Angular 并创建代理连接,它看起来像这样(package.json 的一部分):

"scripts": {
"start": "concurrently --kill-others \"node bin/www\" \"ng serve --proxy-config proxy.config.json\""
}

索引页面加载正常,但似乎 app-root 组件(默认组件,由 angular CLI ng new 创建)没有加载: enter image description here这是我的 node.js/express use 和路由:

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;

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

我错过了什么?为什么默认的 app-root 组件没有加载? (需要说明的是,当我运行 ng serve 时,它会根据需要启动 Angular 主页并且组件没问题,所以我认为问题出在 express 中)。

提前致谢

最佳答案

您应该提供 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'));
});

关于node.js - 为什么 Angular 2 不加载默认的 app-root 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44532254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com