如何在使用AngularJS html5Mode(back4app/Parse-Server)时解析ExpressJS路由

lit*_*ito 7 javascript express angularjs parse-server back4app

我正在使用使用Parse-Server的back4app BaaS服务.对于ClientSide,我使用html5Mode(true)运行AngularJS;

我的问题是这不起作用:http://app.rizop.tv/dashboard 虽然这样做是正确的:http://app.rizop.tv

知道如何修复expressJS以正确的方式处理我的路线吗?

我有这个配置:

云\ app.js

// Helper modules that will be used
var path = require('path');
var bodyParser = require('body-parser')

// This imports the Router that uses the template engine
var index = require('./routers/index');

// Sets the template engine as EJS
app.set('view engine', 'ejs');

// This defines that the 'views' folder contains the templates
app.set('views', path.join(__dirname, '/views'));

// These options are necessary to 
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

// This bind the Router to the / route
app.use('/', index)

// Starts listening in the routes
app.listen();
Run Code Online (Sandbox Code Playgroud)

云\路由器\ index.js

// Importing express
var express = require('express');

// Creating a Router
var route = express.Router();

// Defining a route that binds the GET method
route.get('/', function(req, res) {
  // This is the code that renders the template
  res.render('index', {testParam: 'Back4Apper'});
});

module.exports = route;
Run Code Online (Sandbox Code Playgroud)

云\意见\ index.ejs

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  ...
</body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的app结构:

在此输入图像描述

niv*_*vas 2

您可以通过在 app.js 和根 html 文件中进行少量更改来使其工作

我假设您已经定义了$locationProvider.html5Mode(true);定义路线的位置。然后在索引 html 中定义基本 href

<head>
  <base href="/">
  ...
</head>
Run Code Online (Sandbox Code Playgroud)

这个答案可能有助于配置您的服务器