Angularjs 如何从节点服务器渲染角度路由?
我是angular+node(express)项目的新手。我有一个有四个页面的angular应用程序,我将该应用程序文件夹放在node_模块文件夹的公用文件夹下。我可以通过url“localhost:8081/#/”访问主目录。现在,我想从server.js(node server)加载一个新页面,并发送一些数据以显示在该页面上。下面是我编写的代码。我已经建立了在angular网站的网页。所以我不想用jade或ejs。告诉我正确的方法Angularjs 如何从节点服务器渲染角度路由?,angularjs,node.js,express,Angularjs,Node.js,Express,我是angular+node(express)项目的新手。我有一个有四个页面的angular应用程序,我将该应用程序文件夹放在node_模块文件夹的公用文件夹下。我可以通过url“localhost:8081/#/”访问主目录。现在,我想从server.js(node server)加载一个新页面,并发送一些数据以显示在该页面上。下面是我编写的代码。我已经建立了在angular网站的网页。所以我不想用jade或ejs。告诉我正确的方法 app.post('/authenticate',urlen
app.post('/authenticate',urlencodedParser,function(req,res){
var temp;
res.render( '/#/dashboard', { temp:"tempdata" } );
});
我想转到路由localhost:8081/#/dashboard使用数据temp指向的页面。您做得不对。NodeJS只能用于服务索引页,所有路由只能在前端处理。使用角度路由或ui路由来处理路由 服务索引页(NodeJS):
app.route('/').get(res.render('index'));
angular.module('core').config(['$stateProvider',
function($stateProvider) {
// About state routing
$stateProvider.
state('dashboard', {
url: '/dashboard',
templateUrl: 'dashboard.html'
}).state('home', {
url: '/',
templateUrl: 'home.html'
})
}
]);
创建路线(Angularjs):
app.route('/').get(res.render('index'));
angular.module('core').config(['$stateProvider',
function($stateProvider) {
// About state routing
$stateProvider.
state('dashboard', {
url: '/dashboard',
templateUrl: 'dashboard.html'
}).state('home', {
url: '/',
templateUrl: 'home.html'
})
}
]);
更好的方法是使用app.use(express.static());我已经把app.use(express.static('public'))放进去了;这不是办法,Angular有自己的前端路由,Node有自己的后端路由。在Angular中,您应该设置仪表板路由,并在那里要求Node通过http调用为您提供tempdata。我正在使用ui路由器动态加载和创建状态,例如,我正在加载menu.html/menu.ctrl/和menu.service并创建动态状态,具体取决于用户拥有的权限$stateprovider允许您创建动态状态州政府已按角度设置路线。基本上,我想提交登录表单到服务器,并加载带有临时数据的仪表板页面。为什么我需要在客户端和服务器端处理路由