我想使用JADE使用ng-route设置角度。我无法连接到我的模板(我存储我的html文件)。以下是步骤。我很抱歉这很长,但我想展示所有涉及的任何建议设置角度快递非常感谢!!!!
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({extended: false}));
在我的layout.jade中,我确定了将要使用的所有脚本标记。
script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular.js")
script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-resource.js")
script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-route.js")
script(src="/client.js")
在我的index.jade
中extends layout
block content
div(ng-view)
我在浏览器中创建了一个 templates 文件夹,并在那里放置了我的主页。
以下是公用文件夹的内容。
var beerApp = angular.module('beerApp',['ngResource','ngRoute']);
beerApp.config(function($routeProvider){
$routeProvider
.when('/',{
templateUrl:'/templates/home',
controller: 'homeController'
})
});
beerApp.controller('homeController',function(){
console.log('controller set up')
});
我的第一个假设是我的控制器内部必须设置 tempates 的请求,所以我做了。
var indexController = {
index: function(req, res) {
res.render('index');
},
getTemplate: function(req,res){
res.render('templates/', + req.params.templateid);
}
};
module.exports = indexController;
渲染模板没有解决我的错误。我的chrome dev工具中找不到Home.html。
答案 0 :(得分:0)
<强>路由/ templates.js 强>
var express = require('express');
var router = express.Router();
/* GET template by name */
router.get('/:templateid', function(req, res, next) {
res.render('templates/' + req.params.templateid);
});
module.exports = router;
app.js - 因此您可以通过网址访问模板,例如。 templates/home
- 检查浏览器是否可以呈现此模板
app.use('/templates', require('./routes/templates'));
templates / home.jade - 使用竖管将文本标记为原始内容
p
| {{ hello }}
<强> client.js 强>
beerApp.controller('homeController', function ($scope) {
$scope.hello = 'hello world';
});