Javascript NodeJS服务器在检索部分时返回505/404错误
我正在使用M.E.A.N堆栈构建和应用程序 我使用Angular Ui路由器进行路由,而我似乎在正确路由部分方面遇到了问题 使用以下命令成功调用主视图的链接:Javascript NodeJS服务器在检索部分时返回505/404错误,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,我正在使用M.E.A.N堆栈构建和应用程序 我使用Angular Ui路由器进行路由,而我似乎在正确路由部分方面遇到了问题 使用以下命令成功调用主视图的链接: .state(“框架”{ 网址:“/genetic”, templateUrl:“/partials/framework/main.html”, css:“/stylesheets/genetic/global/main.css” }) 但是当我尝试使用相同的格式调用分部时,我会遇到一个错误 “505内部服务器错误” .state(fr
.state(“框架”{
网址:“/genetic”,
templateUrl:“/partials/framework/main.html”,
css:“/stylesheets/genetic/global/main.css”
})
但是当我尝试使用相同的格式调用分部时,我会遇到一个错误
“505内部服务器错误”
.state(framework.buttons){
url:“/framework/buttons”,
templateUrl:“/partials/framework/buttons.html”,
css:“/stylesheets/framework/global/main.css”
})
我尝试设置相对于(main.html)的路径,但收到错误:
“404未找到”
.state(“framework.buttons”{
url:“/framework/buttons”,
templateUrl:“buttons.html”,
css:“/stylesheets/framework/global/main.css”
})
应用程序结构:
+--public
+--routes
+--index.js
+--users.js
+--views
| +--partials
| | +--admin
| | +--framework
| | | +--app
| | | | +--footer.jade
| | | | +--navigation-list.jade
| | | | +--app.jade
| | | +--buttons
| | | | +--default
| | | | +--disabled
| | | | +--document-overview
| | | | +--fluid
| | | | +--group-default
| | | | +--group-vertical
| | | | +--icon
| | | | +--sizing
| | | | +--buttons.jade
| | | +--forms
| | | +--buttons.html
| | | +--main.html
| | +--tour
| | +--user
| +--error.jade
| +--index.jade
| +--index.html
| +--layout.jade
+--app.js
+--Gruntfile.js
+--package.json
app.js
var express=require('express');
var path=require('path');
var favicon=要求('serve-favicon');
var记录器=需要('morgan');
var cookieParser=require('cookie-parser');
var bodyParser=require('body-parser');
变量路由=要求('./路由/索引');
var users=require(“./routes/users”);
var-app=express();
//查看引擎设置
app.set('views',path.join('views');
app.engine('html',require('jade').renderFile);
应用程序集(“查看引擎”、“翡翠”);
//将您的favicon置于/公共位置后取消注释
//应用程序使用(favicon(path.join(u dirname,'public','favicon.ico'));
应用程序使用(记录器(“开发”);
use(bodyParser.json());
use(bodyParser.urlencoded({extended:false}));
使用(cookieParser());
app.use(express.static(path.join(uu dirname,'public'));
应用程序使用(“/”,路线);
应用程序使用('/users',users);
//捕获404并转发到错误处理程序
应用程序使用(功能(请求、恢复、下一步){
var err=新错误(“未找到”);
err.status=404;
下一个(错误);
});
//错误处理程序
//开发错误处理程序
//将打印stacktrace
if(app.get('env')='development'){
应用程序使用(功能(错误、请求、恢复、下一步){
资源状态(资源状态| | 500);
res.render('错误'{
message:err.message,
错误:错误
});
});
}
//生产错误处理程序
//没有堆栈跟踪泄漏给用户
应用程序使用(功能(错误、请求、恢复、下一步){
资源状态(资源状态| | 500);
res.render('错误'{
message:err.message,
错误:{}
});
});
module.exports=app;
Index.js
var express=require('express');
var router=express.router();
/*获取主页*/
router.get('/',函数(req,res,next){
res.render('index.html',{title:'Home'});
});
router.get('/partials/:name',函数(req,server){
var name=req.params.name;server.render('partials/'+name);
});
get('/partials/framework/:name',函数(req,server){
var name=req.params.name;server.render('partials/genetic/'+name);
});
router.get('/partials/tour/:name',函数(req,server){
var name=req.params.name;server.render('partials/tour/'+name);
});
module.exports=路由器;
角度用户界面路由
var-app=angular.module('app'[
“ui.router”,
“door3.css”,
“应用控制器”
]);
app.config(['$stateProvider','$urlRouterProvider',
函数($stateProvider,$urlRouterProvider){
$urlRouterProvider。否则(“/framework”);
//
//现在建立美国
$stateProvider
.国家(“框架”{
url:“/framework”,
templateUrl:“/partials/framework/main.html”,
css:“/stylesheets/framework/global/main.css”
})
.state(“framework.buttons”{
url:“/按钮”,
templateUrl:“/partials/framework/buttons.html”,
css:[“stylesheets/framework/buttons/main.css”,“/stylesheets/genetic/global/main.css”]
})
}]);
杰德:
包含导航列表
主要的
导航组
ul.breadcrumb.col.col.collapse.large-6-12
锂
a(href=“#”)入门
锂
a(href=“#”)按钮
div(ui-view class=“appview”id='appview')
根据您的应用程序结构,buttons.html位于buttons文件夹中
当前您的模板URL为
templateUrl: "/partials/framework/buttons.html",
但是根据您的应用程序结构,它应该是
templateUrl: "/partials/framework/buttons/buttons.html",
我想这应该行得通,让我知道我还没有找到任何其他原因让无法加载分部视图。如果分部在框架文件夹中,而不是其中的任何子文件夹中,它不应该给出“404未找到”。我想你会在按钮文件夹中看到“buttons,jade”。我将此编译为“与“main.html”处于同一级别的buttons.html。为了可读性,我删除了不必要的信息,但没有修改应用程序结构。