我正在尝试创建一个SPA,据我所知,布局应加载一次并为我的网站提供一般模板,然后将加载部分以更改视图。我在服务器控制台和开发工具中看到,当路由发生变化时,布局和脚本会不断重新加载。如何阻止这些脚本只能加载一次?
节点路线:
app.get('/', routes.index);
app.get('/partials/:name', routes.partials);
节点routes.js:
exports.index = function(req, res){
console.log('loading layout')
return res.render('layout');
};
exports.partials = function (req, res) {
var name = req.params.name;
console.log('name ', name, ' and loading partial')
return res.render('partials/' + name);
};
Angular Routes:
$routeProvider
.when('/', {templateUrl: 'partials/index.jade'})
.when('/someRoute', {templateUrl: 'partials/someRoute.jade', controller: 'myCtrl'})
.otherwise({redirectTo: '/'});
layout.jade
html
head
// bunch of scripts
body(ng-app='myApp')
div(ng-view)
block content
视图的文件夹结构是 -views -partials -layout.jade
如果我开始在导航栏中键入/ someRoute,我会看到/ someRoute和404显示在我的服务器控制台中,304显示我的layout.jade中包含的所有脚本,但是我的chrome检查器中没有,我从未点击过输入。如果我按Enter键,我会得到正确的响应,以及必须排队的404和我所有脚本的200状态。