經過yeoman、gulp、angular編寫前段時的html模板處理,打包後找不到html的問題解決

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

相關文章
相關標籤/搜索