最近遇到了一個問題,就是經過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