Ui路由器找不到Nodejs的视图
问题描述:
我正在研究nodejs应用程序,我们使用Ui路由器来实现单页面应用程序,我创建了节点js中的控制器,它加载了包含角度脚本和库的Layout,然后我试图转到throught我在UI路由器定义的路线,每个我得到了在控制台中的错误表示"angular.js:8081 GET http://localhost:2405/Views/Partials/Know-me.html 404 (Not Found)"
我不能指定问题Ui路由器找不到Nodejs的视图
这个时候是一些代码:
控制器的NodeJS
app.get("/",function(req , res){
res.render("Template.ejs"); // this is the layout
});
个
布局脚本:
<script src="http://code.angularjs.org/1.2.13/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<script src="../../angular_js/app_angular.js"></script>
和app_angular脚本:项目
var appmodule = angular.module('mainApp',[ui.router]);
appmodule.config(function($stateProvider , $urlRouterProvider , $locationProvider){
$urlRouterProvider.otherwise('/things');
$stateProvider
.state('me',{
url : '/me',
templateUrl : '/Views/Partials/Know-me.html'
})
.state('amir',{
url : '/amir',
templateUrl : '/Know-me-amir.html'
});
//$locationProvider.html5Mode(true);
});
结构:
- 查看
---共享
- --- Temaplte.ejs
---局部模板
----知识me.html
- 脚本
--- angular_js
---- angular_app.js
答
问题是: ejs文件在服务器上呈现。 AngularJS(客户端)试图获取 'Views/Partials/Know-me.html'。从客户的角度来看,这个html不存在。
请执行下列操作:
- 添加一个公用文件夹。
- 服务大众文件夹express.static()
- 移动HTML文件到这个目录:公共/查看/局部模板/技能me.html
- 尝试访问http://localhost:2405/Views/Partials/Know-me.html - 如果你看看就知道的内容 - 我 - 你很好走!
现在您的客户端将会找到asyncronisly加载的html文件。
尝试添加一个。在你的templateUrl的路径的开始。 templateUrl:'./Know-me-amir.html'。如果它不起作用,你能告诉我们你的项目结构吗? –
我添加了项目@AnassAnas的结构 –