我们可以在nodejs中使用ui路由器和expressjs服务器端路由来使用客户端angularjs路由吗。下面是一个例子

我们可以在nodejs中使用ui路由器和expressjs服务器端路由来使用客户端angularjs路由吗。下面是一个例子,angularjs,node.js,express,angular-ui-router,Angularjs,Node.js,Express,Angular Ui Router,例如: var bodyparser=require('body-parser'); var fs=require('fs'); var express=require("express"); var myApp = express(); var MongoClient=require('mongodb').MongoClient; var assert=require('assert'); var url = 'mongodb://localhost:27017/dbname'; var Ob

例如:

var bodyparser=require('body-parser');
var fs=require('fs');
var express=require("express");
var myApp = express();
var MongoClient=require('mongodb').MongoClient;
var assert=require('assert');
var url = 'mongodb://localhost:27017/dbname';
var ObjectId=MongoClient.ObjectID;
var http=require('http');

myApp.use(express.static("."));
myApp.use(bodyparser.json());
myApp.listen(5000);
在我使用ui router使其成为SPA后,我使用serverapache或node仅从那里加载索引文件,SPA在apache服务器上运行良好,但在node上运行不正常:

正在正确加载索引,但url如下: 抛出消息:无法在节点服务器中获取/测试/如何在expressjs中使路由正常工作

$urlRouterProvider。否则为“/login”

var DASHBOARD_ROOT = 'templates';
$stateProvider.state'index'{ url:“/login”, templateUrl:'login.html', 控制器:“employeeInfoCtrl” };


在节点中:必须添加路径GETtest


您可以通过使用

app.use(express.static('dist')) //dist is where your js is bundled
然后使用通配符*将所有请求重定向到index.html文件

app.get('*', (req, res) => res.sendFile('index.html')));

Hi Ritchie,它不工作,抛出:错误:在Function.module.找不到模块'html'。\u resolveFilename module.js:339:15在Function.module.\u load module.js:290:25在module.require module.js:367:17在require internal/module.js:16:19.索引文件正在正确加载,但在登录时我正在替换视图,仅使用uirouter,而不是happening@BhimashankarMantur同样,您必须为登录编写登录路由。不工作我只希望使用uirouter的客户端路由,但expressjs将在两者之间进行,似乎需要设置viewEngine。@BhimashankarMantur您的客户端路由器和视图之间的ExpressInb是什么意思?如果不使用express呈现视图,则不需要设置视图引擎。我使用angulars uirouter配置路由,但express不允许tat配置工作,我只想使用express获取和发布数据
app.use(express.static('dist')) //dist is where your js is bundled
app.get('*', (req, res) => res.sendFile('index.html')));