Angularjs 平均应用程序设置不';t将路由重定向到角度应用程序

Angularjs 平均应用程序设置不';t将路由重定向到角度应用程序,angularjs,node.js,mean-stack,Angularjs,Node.js,Mean Stack,我试图为一个普通的应用程序建立一个基础。我使用Angular CLI创建了新项目,向应用程序添加了Express.js和MongoDB模块。在app.js文件中,我有以下配置: var express = require('express'); var bodyParser = require('body-parser'); var session = require('express-session'); var path = require("path") var app = express

我试图为一个普通的应用程序建立一个基础。我使用Angular CLI创建了新项目,向应用程序添加了Express.js和MongoDB模块。在
app.js
文件中,我有以下配置:

var express = require('express');
var bodyParser = require('body-parser');
var session = require('express-session');
var path = require("path")
var app = express();

var conf = require('./config/conf');
var server = require('http').Server(app);

var mongoDB = require('./adapters/mongodb')
var mongoClient = new mongoDB(conf);

app.use(bodyParser());

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'dist/index.html'));
});

app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,__setXHR_');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
});

mongoClient.connect(function (dbconn) {
    app.dbconn = dbconn;
    app.conf = conf;
    console.log("************************************************************");
    console.log(new Date() + ' | CRUD Server Listening on ' + conf['web']['port']);
    console.log("************************************************************");
    server.listen(conf['web']['port']);
    var Routes = require('./routes/http-routes');
    new Routes(app);
});

我现在设置了hello world路线,没有对角度源进行任何更改,这意味着我将在角度默认起始页着陆。但我不能降落在页面上,而是一个白色屏幕页面。但是,我可以使用邮递员访问路线。我执行
ng build
,然后执行
node app.js
来运行应用程序。我做错了什么?

你应该用快车来处理路线

首先

const router=express.Router();
然后假设您有一个仅使用身份验证路由的文件

const authentication = require('./routes/authentication')(router);
要得出结论,您只需执行以下操作:

app.use('/authentication', authentication);
这样可以更好地划分路线

你将这样使用你的路线

module.exports= (router)=>{

router.get('/',(req,res)=>{
res.json(message:'Hello World');
});

return router;

要设置角度路由,您需要路由器模块,有关详细信息,请阅读

您应该使用快速方式处理路由

首先

const router=express.Router();
然后假设您有一个仅使用身份验证路由的文件

const authentication = require('./routes/authentication')(router);
要得出结论,您只需执行以下操作:

app.use('/authentication', authentication);
这样可以更好地划分路线

你将这样使用你的路线

module.exports= (router)=>{

router.get('/',(req,res)=>{
res.json(message:'Hello World');
});

return router;

要设置角度路由,您需要路由器模块,有关更多详细信息,请阅读angular应用程序中的“您只提供index.html”。但您还需要服务资产、css和javascript。最简单的方法如下(但您需要调整目录名:

app.use('/js', express.static(path.resolve(__dirname, 'dist/js')));
app.use('/css', express.static(path.resolve(__dirname, 'dist/css')));
app.use('/assets', express.static(path.resolve(__dirname, 'dist/assets')));

您只提供Angular应用程序中的index.html。但您还需要提供资产、css和javascript。最简单的方法如下(但您需要调整目录名:

app.use('/js', express.static(path.resolve(__dirname, 'dist/js')));
app.use('/css', express.static(path.resolve(__dirname, 'dist/css')));
app.use('/assets', express.static(path.resolve(__dirname, 'dist/assets')));

你能显示路由的角度代码吗?当你得到一个空白页面时,你还应该查看控制台中的错误,还有为什么你要将路由放入数据库连接?有一种快速处理路由的方法可以显示路由的角度代码,当你得到一个空白页面时,你还应该查看控制台中的错误,也就是你是否将路由放入数据库连接?有一种快速处理路由的方法