在页面源代码中编译并隐藏AngularJs模板

在页面源代码中编译并隐藏AngularJs模板,angularjs,Angularjs,我的问题是如何在使用AngularJs时隐藏模板标记。我的意思是在index.html中我有: <!doctype html> <html lang="en" data-ng-app="myApp"> <head data-ng-controller="CtrlHead"> <meta charset="utf-8"> <title>{{title}}</title> <

我的问题是如何在使用AngularJs时隐藏模板标记。我的意思是在index.html中我有:

<!doctype html>
<html lang="en" data-ng-app="myApp">
    <head data-ng-controller="CtrlHead">
        <meta charset="utf-8">
        <title>{{title}}</title>
    </head>
    <body>             
        <div data-ng-view></div>
        <script type="text/javascript" src="js/js.min.js"></script>
    </body>
</html>

{{title}}
当我在浏览器中查看该页面,然后右键单击>查看源代码时,我可以看到所有代码,并确切地看到该页面是如何构造的

是否有某种方法可以编译AngularJs模板,并在视图源中仅显示完成的html(添加了{{title}}}和实际视图,而不是数据ng视图)

请注意,我不是说在编译模板之前阻止{{tag}}闪现的原因


谢谢。

这没有简单的角度魔法。您需要让服务器提供html快照。这不适用于您为实际用户提供的服务,因为不涉及javascript。它只是javascript运行后页面完成输出的转储

您可以使用无头浏览器(如在服务器上运行的浏览器)按计划“访问”您的页面,捕获已编译的html,将html保存到文件中,然后为SEO爬虫提供这些文件

我所做的对我的处境有利一点。我建立了一个内容管理系统,所以对站点的所有更改都通过该系统进行管理。任何时候进行更改,站点都会加载到管理面板本身(iframe)中,我从那里捕获输出并保存快照

要告诉爬虫一个页面是基于ajax的,并在其他地方查找快照,请将以下内容放在文档的开头:
,它告诉google在
www.example.com上查找
www.example.com
。然后,您将设置服务器,为该请求提供主页快照。 来自谷歌的信息如下:


还有一项服务可以为您做到这一点:

您为什么要这样做?它增加了什么价值?主要原因是客户要求它。他的理由是,他只是想尽可能多地隐藏我们正在做的事情,我们使用一些精心制作的模板,他不想让“他们”去“窃取”:)顺便说一句,这是很久以前的事了,我说服他不要担心。