Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Express framework从AngularJS的url中删除#?_Angularjs_Node.js_Express - Fatal编程技术网

如何使用Express framework从AngularJS的url中删除#?

如何使用Express framework从AngularJS的url中删除#?,angularjs,node.js,express,Angularjs,Node.js,Express,我有一个网站,它有前端和后端。 我已将前端文件存储在客户端文件夹中,后端文件存储在管理员文件夹中。我已通过添加删除前端URL中的#标记 $locationProvider.html5Mode(true); 在我的客户端app.js文件和 <base href="/"> 我已尝试将其添加到server.js文件中 var express = require('express'); var bodyParser = require('body-parser'); var app =

我有一个网站,它有前端和后端。 我已将前端文件存储在客户端文件夹中,后端文件存储在管理员文件夹中。我已通过添加删除前端URL中的#标记

$locationProvider.html5Mode(true); 
在我的客户端app.js文件和

<base href="/">
我已尝试将其添加到server.js文件中

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

var path = require('path');

var session = require('express-session');
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/edb');

app.all('/', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    next()
  });

app.use(session({secret: 'keyboard cat', cookie: { maxAge: 60000 }, resave: true, saveUninitialized: true }))


app.use('/', express.static('app', { redirect: false }));


app.get('/', function (req, res, next) {
    res.sendFile(path.resolve('client/index.html'));
});
app.get('/admin', function (req, res, next) {
        res.sendFile(path.resolve('admin/index.html'));
    });
但是它需要用到client index.html文件

你有办法吗?

我有办法

app.get('/*', function (req, res, next) {
    res.sendFile(path.resolve('client/index.html'));
});

app.get('/admin/*', function (req, res, next) {
    res.sendFile(path.resolve('admin/index.html'));
});
我在server.js文件中添加了这段代码


它的工作就像一个符咒

如果我们像example.com/admin/someotherroute那样重新加载url,它会抛出错误吗?是的,我有一个解决方案,你必须放在head open标签的顶部
app.get('/*', function (req, res, next) {
    res.sendFile(path.resolve('client/index.html'));
});

app.get('/admin/*', function (req, res, next) {
    res.sendFile(path.resolve('admin/index.html'));
});