最近遇到了一个问题,就是经过yeoman、gulp编写前段的时候,本身的html文件,在一些插件中用到,在代码中,直接写了相对路径,在正常调试的状况下,是没有任何问题的,可是当打包发布代码以后,引用相对路径的html没法找到,提示404javascript
研究了gulp后,发现build.js中,写好的关于匹配html文件,而后进行压缩的代码,是将匹配的全部html文件,都经过angularTemplatecatch插件压缩到了templateCatchHtml.js文件中
代码以下html
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来直接找到对应的htmljava
因此我把代码中使用相对路径的html改为了生成的模板代码中的模板id
这样,dist打包后就能够正常使用了。web