示例:我們可以在nodejs中使用ui路由器與expressjs服務器端路由使用客戶端的angularjs路由。下面是示例
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);
我使用服務器(Apache或節點)來加載從那裏正在使用UI路由器,使其這是工作良好文中的Apache運行SPA之後僅索引文件服務器,但是這是行不通的文節點上運行:
索引被正確加載,但以下網址: http://localhost:5000/Test/#/dashboard 拋出消息:「無法獲得/測試/」中的節點服務器,如何使路由工作正確in expressjs
$ urlRouterProvider.otherwise('/ login');
var DASHBOARD_ROOT = 'templates';
$ stateProvider.state( '索引',{ URL: '/登錄', templateUrl: '的login.html', 控制器: 'employeeInfoCtrl' });
$stateProvider.state('dashboard', {
abstract :true,
url: '/dashboard',
templateUrl: 'dashboard.html',
controller: 'employeeInfoCtrl'
});
$stateProvider.state('dashboard.home',{
url:'',
templateUrl: DASHBOARD_ROOT +'/Home.html'
});
$stateProvider.state('dashboard.about',{
url:'/about',
templateUrl: DASHBOARD_ROOT +'/about.html'
});
$stateProvider.state('dashboard.employeeinfo',{
url:'/employeeinfo',
templateUrl:DASHBOARD_ROOT+'/employeeinfo.html'
});
嗨裏奇,它不工作,投擲:錯誤:無法找到模塊'html' 在Function.Module._resolveFilename(module.js:339:15) 在Function.Module._load(module.js:290:25 ) at Module.require(module.js:367:17) at require(internal/module.js:16:19).... –
索引文件正在正確加載,但在登錄時將替換視圖,只使用uirouter哪些不會發生 –
@BhimashankarMantur同樣的方式你必須編寫登錄路徑登錄。 –