[英]ng view not rendering jade templates
我想使用JADE在ng-route中设置angular。 我无法连接到模板(我在其中存储html文件的模板)。 以下是步骤。 抱歉,这很长,但是我想向大家展示涉及的所有内容,对于使用express设置angular的任何建议都非常感谢!!!!
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)
我在视图内部创建了一个template文件夹,并在其中放置我的主页。
这是我的公用文件夹的内容。
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')
});
我的第一个假设是我必须在控制器内部为模板设置请求,所以我这样做了。
var indexController = {
index: function(req, res) {
res.render('index');
},
getTemplate: function(req,res){
res.render('templates/', + req.params.templateid);
}
};
module.exports = indexController;
渲染模板无法解决我的错误。 在我的Chrome开发工具中找不到Home.html。
路由/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-因此您可以通过url访问模板,例如。 templates/home
-检查浏览器是否可以渲染此模板
app.use('/templates', require('./routes/templates'));
templates / home.jade-使用管道将文本标记为原始内容
p
| {{ hello }}
client.js
beerApp.controller('homeController', function ($scope) {
$scope.hello = 'hello world';
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.