我正在使用connect-include
的咕噜声我的页面渲染得很完美,但是当我更改ssi中包含的模板(例如/templates/*.html)时,我的页面无法通过对模板文件的新更改进行更新。我的页面重新加载,但使用旧的HTML。可能我的监视任务是在观察index.html并且没有看到对文件进行任何更改
这是我的连接设置:
connect: {
options: {
port: 9000,
open: true,
livereload: 35729,
// Change this to '0.0.0.0' to access the server from outside
hostname: 'localhost'
},
livereload: {
options: {
middleware: function(connect) {
return [
connect.static('.tmp'),
ssInclude(config.app),
connect().use('/bower_components', connect.static('./bower_components')),
connect.static(config.app)
];
}
}
},
我的观看任务
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'<%= config.app %>/{,*/}*.html',
'.tmp/styles/{,*/}*.css',
'<%= config.app %>/images/{,*/}*'
]
}
这是index.html示例
<html>
<body>
<!-- #include file="templates/header.html" -->
</body>
</html>
现在,当我更改header.html时,我的页面会重新加载,但我看不到header.html中所做的更改
我无法弄清楚如何解决这个问题,除了每次更改模板时编辑index.html文件
更新 弄清楚它可能有一些未修改的状态304,但我如何强制使用livereload修改index.html?
更新2 发现自己是一个解决方法,但这显然不是正确的方法:-) 每当我的一个模板更改
时,我就为index.html文件创建了一个复制任务copy: {
index: {
expand: true,
cwd: '<%= config.app %>',
dest: '<%= config.app %>',
src: ['*.html'],
flatten: true
}
}
这将改变文件的修改日期。我还添加了额外的监视任务以完成任务
watch: {
html: {
files: ['<%= config.app %>/componenten/*.html', '<%= config.app %>/templates/*.html'],
tasks: ['copy:index']
}
}
是否有其他方法可以更改文件修改时间?