Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用角度';s templateCache(适用于大型应用程序)_Javascript_Angularjs_Optimization_Angular Templatecache - Fatal编程技术网

Javascript 使用角度';s templateCache(适用于大型应用程序)

Javascript 使用角度';s templateCache(适用于大型应用程序),javascript,angularjs,optimization,angular-templatecache,Javascript,Angularjs,Optimization,Angular Templatecache,我正在用100多个模板优化一个相当大的angularjs应用程序。我使用grunt实现自动化。我在这里试图实现的是,当我计划在cdn上托管静态资产时,我需要在生产代码中的所有URL前面加一个cdnUrl 我尝试使用grunt插件来实现这一点,我成功地替换了代码中的所有引用,除了标记中的TemplateURL和UI状态配置中的引用 因此,我想通过使用插件将我所有的angular js模板预编译成一个js文件来解决这个问题。在检查了预编译js文件的大小后,我发现即使在html缩小的情况下,它的大小也

我正在用100多个模板优化一个相当大的angularjs应用程序。我使用grunt实现自动化。我在这里试图实现的是,当我计划在cdn上托管静态资产时,我需要在生产代码中的所有URL前面加一个cdnUrl

我尝试使用grunt插件来实现这一点,我成功地替换了代码中的所有引用,除了
标记中的TemplateURL和UI状态配置中的引用

因此,我想通过使用插件将我所有的angular js模板预编译成一个js文件来解决这个问题。在检查了预编译js文件的大小后,我发现即使在html缩小的情况下,它的大小也高达1.13MB

与我的整个应用相比,第一次加载时整个应用只需1.5~1.7MB。因此,我不认为包含这个预编译模板是易读的,因为它会迫使用户在设备上下载大量额外的重量。此外,还有一些视图部分局限于某些用户,一般来说,我觉得加载应用程序中许多用户无论如何都不会访问的部分的数据是不公平的


在这种情况下你们有什么建议?在生产中使用$templateCache是否仍然更可取?如果没有任何关于使用grunt为角度模板添加cdn url前缀的帮助,那么使用grunt会很有帮助。

使用grunt假设可以使用文件名掩码指定要使用插件处理的文件。如果Grunt不是您工作流程中的关键部分,那么类似的Gulp插件可能会提供更好的灵活性。@estus那么您的建议是,我应该尝试查看我已经使用的Grunt cdn插件,并对其进行修改以使用自定义标记?如果这对您有效,那么请确定,在一组文件上使用grunt cdn,在另一组文件上使用grunt angular templates。@Vinay,你最终得到了什么?我也遇到了类似的情况,我想知道在
$templateCache
@linxtion中加载所有模板会对性能产生什么影响。我最终避免了$templateCache,因为我的应用程序中有很多html代码,而使用templateCache意味着我包含了很多情况下我的用户无法导航到的html。由于templateCache中有大量内容,因此肯定会影响首次加载时间。