最近遇到了一个问题,就是通过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打包后就可以正常使用了。