Node.js和expressjs路由到另一个文件夹

我是学习expressjs和nodejs的新手。 我需要使用ui.router进行路由的帮助。 我真的不知道如何解释这与我如此裸露。

我的文件夹结构如下所示:

在这里输入图像说明

在我的app.jsjavascripts看起来像这样:

 var app = angular.module('testing', ['ui.router']); app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $stateProvider .state('home', { url: '/home', templateUrl: '/home.html' }) .state('client_form', { url: '/request', templateUrl: '/client.html', controller: 'MainCtrl' }); $urlRouterProvider.otherwise('home'); }]); 

我的index.ejs看起来像这样:

 <!DOCTYPE html> <html> <head> <title>Testing</title> <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.js"></script> <script src="/javascripts/app.js"></script> </head> <body ng-app="testing"> <div class="col-md-6 col-md-offset-3"> <ui-view></ui-view> </div> </body> </html> 

home.ejs

 <div class="page-header text-center" style="font-size:45px"> Hacker List </div> <div class="text-center"> <a href="worker.html"> <button type="submit" class="btn btn-primary btnBig">Worker</button> </a> <br /> <a href="Client.html"> <button type="submit" class="btn btn-primary btnBig">Client</button> </a> </div> 

当我做npm start ,去到网站,我得到了无法findhome.html循环。

如果我使用<script type="text/ng-template" id="/home.html">HOME_CODE_HERE</script>内联在index.ejs我可以使home.ejs的代码出现。 不过,我不想这样做。

我不知道如何解决这个问题,任何帮助将不胜感激。 谢谢!

ui.router是AngularJS,而不是ui.router 。 可能是无限循环问题在你的前端,而不是在NodeJS路由。

在AngularJS问题之外,我会说Express路由在后端,所以在(从Angular,浏览器,链接,redirect等)请求之后,工作的责任和configuration在NodeJS + Express + EJS中。

假设您向/index.html发出请求。 一旦请求到达后端,NodeJS将假定如何处理它。

因此,为了确保在NodeJS中没有问题,请检查app.js (在节点中使用 – 可能位于项目的根目录中)。 它可以有类似的路由configuration:

 var express = require('express'); var app = express(); // EJS template config app.set('views','./views'); app.set('view engine','ejs'); app.use(bodyParser.urlencoded({ extended: true })); //support x-www-form-urlencoded app.use(bodyParser.json()); // This is your routes app.get('/', function(req, res) { // Your code for index res.render('views/index', { param : "This is a EJS test" }); }); app.get('/index.html', function(req, res) { // Your code for index res.render('views/index', { param : "This is a EJS test" }); }); app.get('/anotherPage.html', function(req, res) { // Your code for another page: can include validations here res.render('views/anotherPage', { param : "This is a EJS test" }); });