通过yeoman、gulp、angular编写前段时的html模板处理,打包后找不到html的问题解决

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

    原文作者:LiYunpeng
    原文地址: https://segmentfault.com/a/1190000003950472
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞