Node.js和expressjs路由到另一个文件夹
我是学习expressjs和nodejs的新手。 我需要使用ui.router进行路由的帮助。 我真的不知道如何解释这与我如此裸露。
我的文件夹结构如下所示:
在我的app.js
下javascripts
看起来像这样:
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" }); });
- 运行量angular器testing接收错误“ReferenceError:模块未定义”
- 使用AngularJS ajax将数据发布到sails.js后端的API
- 在angularjs中发布路由和用户authentication
- 发表angularjsforms到nodejs Express(Bad request)
- socket.ioangular度错误:未捕获TypeError:无法调用方法'onClose'null
- 未知提供者试图在一个MeanJS v0.4.1应用程序中包含angular-websocket
- 从客户端发送图像到Node.js服务器(AngularJS)
- angular.js和node.js在页面加载时调用节点
- 如何在nodejsencryption库中encryption的浏览器端解密数据?