最近遇到了一个问题,就是通过yeoman、gulp编写前段的时候,自己的html文件,在一些插件中用到,在代码中,直接写了相对路径,在正常调试的情况下,是没有任何问题的,但是当打包发布代码之后,引用相对路径的html无法找到,提示404
研究了gulp后,发现build.js中,写好的关于匹配html文件,然后进行压缩的代码,是将匹配的所有html文件,都通过angularTemplatecatch插件压缩到了templateCatchHtml.js文件中
代码如下
gulp.task('partials', function () {
return gulp.src([
path.join(conf.paths.src, '/app/**/*.html'),
path.join(conf.paths.tmp, '/serve/app/**/*.html')
])
.pipe($.minifyHtml({
empty: true,
spare: true,
quotes: true
}))
.pipe($.angularTemplatecache('templateCacheHtml.js', {
module: 'webapp',
root: 'app'
}))
.pipe(gulp.dest(conf.paths.tmp + '/partials/'));
});
也就是说,我们可以在程序中直接使用打包好的template的id来直接找到对应的html
所以我把代码中使用相对路径的html改成了生成的模板代码中的模板id
这样,dist打包后就可以正常使用了。