我是网络编程和编码的新手。所以,请原谅我,如果这是一个新手问题或重复一个或我的知识是错误的。
我所知道的
1.Angular不友好。不要误会我的意思,我知道有几种方法可以让它变得友好(提供静态的预渲染页面等)
2.角度编码有很多优点
3.模块代码可以使用角度部分以及jade,swig等模板编写
情况下
让我们来看一个案例,网页有5个部分(标题,jambotron,文本,某种形式,页脚)。现在如果我们想要一个可重复使用的模块化代码,我们可以用角度局部写入并使用ng-include或ui-view输入它们。但它不是seo友好
我们如何以下列方式进行:
1.使用模板生成html页面(我使用swig)。
2.为代码的每个部分(标题,jambotron,text,some-form,footer)编写单独的模块。
3.使用依赖注入将这些模块注入页面的控制器。
4.总是使用角度函数和控制器中的所有内容。
5.一个页面女巫是SEO友好,模块化,可重复使用。
问题
1.任何人都使用这种方法吗?
2.如果不,是吗?如果是的话,除了我提到的以外的任何其他原因?
3.其他方法哪个更好,为什么?
4.如果我继续这样做,我应该如何在注入其中的不同模块之间共享页面数据?任何指南?来源?
答案 0 :(得分:1)
你说的是对的,你说得对:
1.Angular不友好。不要误会我的意思,我知道有几种方法可以让它变得友好(提供静态预渲染 页面。等)
2.角度编码有很多优点
3.模块代码可以使用角度部分以及jade,swig等模板编写
<小时/> 现在,我对你的理解是,你希望使用角度优势仍然使你的应用程序SEO友好,对吗?
所以,我把这个问题分开了,你说的是什么,
<强>答案:强>
您从Angular获得的优势是什么:
Angular旨在用于创建单页面应用程序。即一次下载所有内容,让用户玩它,而不向服务器发送请求(对于html),并让它感觉更快。
模块化代码,采用MVC模式。
数据绑定
如果您使用swig而不是角度路由/模板会发生什么:
你失去了角度的第一个优势,即你每次都要向每个html页面的服务器发出请求。
每次要加载新视图时,都会下载所有库,angular,其指令和其他依赖项。因此,增加了数据传输速度,并减慢了页面加载速度。
你仍然可以在角度使用数据绑定,这很有用,但仅仅对于数据绑定,使用整个角度,不是一个选择,有很多其他库可用于数据 - 结合
现在你的问题清单:
有人使用这种方法吗?如果不是,为什么?如果是的话,除了我提到的以外还有其他任何原因吗?
是的,人们使用服务器端模板,这使得他们更容易使Web应用程序SEO友好的任务,但这是你需要从项目中排除Angular的地方,因为如果应用程序不是没有更好的更长的单页应用程序。
任何其他方法更好,为什么?
坚持使用角度来制作单页应用程序并且不使用swig,或者使用它并排除角度。
如果我继续这个,我应该如何在注入其中的不同模块之间共享页面数据?任何指南?
如果你真的选择了,不好的选择,只能通过服务器共享数据,并不真正取决于你使用的东西(swig,或ejs,或者jade)。只需阅读swig的文档。