Angularjs 平均应用程序设置不';t将路由重定向到角度应用程序
我试图为一个普通的应用程序建立一个基础。我使用Angular CLI创建了新项目,向应用程序添加了Express.js和MongoDB模块。在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
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')));
你能显示路由的角度代码吗?当你得到一个空白页面时,你还应该查看控制台中的错误,还有为什么你要将路由放入数据库连接?有一种快速处理路由的方法可以显示路由的角度代码,当你得到一个空白页面时,你还应该查看控制台中的错误,也就是你是否将路由放入数据库连接?有一种快速处理路由的方法