【发布时间】:2026-02-12 07:45:01
【问题描述】:
问题,我有一个 server 和 client 文件夹,而不是客户端我有 2 个 Angular 应用程序:1 个用于网站,1 个用于仪表板。
https://github.com/leongaban/bitage/tree/website
目前,在我运行服务器并点击路径 / 之后,您将被路由到网站应用程序,一旦在那里我似乎无法路由到仪表板应用程序。
文件夹结构:
server/
client/
website/
dashboard/
服务器/内部的 main.js 正确路由到网站应用程序,但无法路由到仪表板/
//website api
=============
var website = express.Router();
app.use('/', website);
app.use('/', express.static("../client/website/"));
console.log(__dirname + "../client/website/");
website.use(function(req, res, next) {
console.log(req.method, req.url);
next();
});
website.get('/', function(req, res) {
var path = 'index.html';
res.sendfile(path, { 'root': '../client/website/' });
});
//dashboard api
===============
var dashboard = express.Router();
app.use('/dashboard', dashboard);
app.use('/', express.static("../client/dashboard/"));
console.log(__dirname + "../client/dashboard/");
dashboard.use(function(req, res, next) {
console.log(req.method, req.url);
next();
});
dashboard.get('/dashboard', function(req, res) {
var path = 'index.html';
res.sendfile(path, { 'root': '../client/dashboard/' });
});
网站的mainController路由配置:
.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', { url: '/home' })
.state('about', {
url: '/about',
templateUrl: 'views/about.html'
})
.state('login', {
url: '/login',
templateUrl: 'views/login.html'
})
.state('register', {
url: '/register',
templateUrl: 'views/register.html'
});
$urlRouterProvider.otherwise('/home');
}])
一旦我点击http://localhost:9999/,网站 Angular 应用就会接管:http://localhost:9999/#/home 我在网站视图中,无法切换路线并查看仪表板应用。
以下是仪表板应用的 mainController 中的配置
.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('wallet', { url: '/wallet' })
.state('wallet', {
url: '/wallet',
templateUrl: 'views/wallet.html'
})
.state('accounts', {
url: '/accounts',
templateUrl: 'views/accounts.html'
})
.state('settings', {
url: '/settings',
templateUrl: 'views/settings.html'
})
.state('help', {
url: '/help',
templateUrl: 'views/help.html'
});
$urlRouterProvider.otherwise('wallet');
}])
您将如何更改 Express 应用 (main.js) 中的路由以允许我更改 Angular 应用?
即:
http://localhost:9999/#/home = 网站
http://localhost:9999/#/dashboard = 仪表板
【问题讨论】:
标签: angularjs node.js express routing angular-ui-router