好吧,我不知道为什么我要投反对票。但是无论如何,我在看这个例子时发现了自己的问题。
实际的问题是我没有使用express将目录设为“ public”:
这是你好世界app.use(express.static(__dirname));
index.html
<!DOCTYPE html><html ng-app="main"><head> <meta name="name" content="something"> <title></title></head><body> <section ng-view=""></section> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.3/angular.min.js" type="text/javascript" charset="utf-8"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.3/angular-route.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> angular.module('main', ['ngRoute']) .config(['$routeProvider', function ($routeProvider){ console.log('hola'); $routeProvider .when('/', { templateUrl: 'templates/index.html' ,controller: 'indexCtrl' }) .when('/second', { templateUrl: 'templates/second.html' ,controller: 'secondCtrl' }) .otherwise({ redirectTo: '/' }); }]) .controller('indexCtrl', ['$scope', function ($scope){ $scope.helloWorld = "Hello World"; }]) .controller('secondCtrl', ['$scope', function ($scope){ $scope.helloWorld = "World Hello"; }]); </script></body></html>
服务器/ index.js
var express = require('express'),app = express();app.use(express.static(__dirname));app.get('/', function(req, res) { res.sendfile('index.html', {root: __dirname })});var server = app.listen(process.env.PORT || 80);
程序文件
web: node index.js
templates / index.html
<h1>{{ helloWorld }}<h1><a href="#/second" title="">Go to Second</a>
templates / second.html
<h1>{{ helloWorld }}<h1><a href="#/" title="">Go to First</a>
我希望这可以帮助别人。
回答我的问题。是的,有可能,我做错了是没有使模板(文件)可访问。如果要对可访问内容进行额外的安全保护,则可以创建一个名为public的文件夹。然后将该目录设为静态:
app.use(express.static(__dirname + '/public'));
那么您还可以使用不同的路由来与您的应用程序进行通信,甚至可以是RESTful。喜欢:
app.get('/users', function(req, res) { res.json({...});});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)