使用angular模块和节点模板以获得更好的重用能力

一般来说,我是networking编程和编程的新手。 所以,请原谅,如果这是一个新手问题或重复一个或我的知识是错误的。

我知道的

1.Angular不友善。 不要误解我的意思,我知道有几种方法可以使它变得友好(提供静态的预渲染页面等)

编码有很多优点

3.模块代码可以使用偏angular来书写,也可以使用模板,如玉,sw等

案件

让我们看看网页有5个部分(header,jambotron,text,some-form,footer)。 现在如果我们想要一个可重复使用的模块化代码,我们可以使用ng-include或ui-view来写入angular度偏差。 但它不友善

我们如何做到这一点如下:

1.使用模板来生成html页面(我使用swig)。

2.为代码的每个部分(header,jambotron,text,some-form,footer)分别写模块。

3.使用dependency injection将这些模块注入到页面的控制器中。

4.使用angular度函数和控制器中的所有东西。

5.一个页面女巫是SEO友好,模块化,可重复使用。

1.是否有人使用这种方法?

如果没有,你呢? 如果是的话,除了我提到的其他原因?

3.其他更好的方法,为什么?

4.如果我继续这一点,我应该如何共享注入到不同模块之间的页面数据? 任何指南? 来源?

你说得对,你说得对:

1.Angular不友善。 不要误解我的意思,我知道有几种方法可以使它变得友好(提供静态的预渲染页面等)

编码有很多优点

3.模块代码可以使用偏angular来书写,也可以使用模板,如玉,sw等


现在,我从你的问题中得到的问题是,你想要使用angulars的优点仍然使你的应用程序search引擎友好,对不对?

所以,我分裂你这样的问题,你说什么,

  1. 使用服务器上的swig生成模板(所以网页变得SEO友好),
  2. 在每个页面中使用angular度并从angular度获得优势。

回答:

你从Angular获得什么优势:

  1. Angular旨在用于创build单页面应用程序。 即下载一切,让用户玩它,而不向服务器(对于HTML)的请求,并使其感觉更快。

  2. 模块化的代码,在MVC模式。

  3. 数据绑定

如果使用swig而不是angular度路由/模板将会发生什么情况:

  1. 你放松了第一个优势的angular度,即你将要求服务器的每个HTML页面,每次。

  2. 你下载所有库,angular度,其指令,其他依赖关系,每次你想加载一个新的视图。 因此,增加了数据传输速度,并减缓了页面加载速度。

  3. 你仍然可以使用angular度的数据绑定,这是有用的,但只是为了数据绑定,使用整angular度,是不是一个select,有很多其他库可用于数据绑定


现在你的问题清单:

有没有人使用这种方法? 如果不是,为什么? 如果是的话,除了我提到的其他原因?

是的,人们使用服务器端模板,这使得他们的任务更容易让networking应用程序search引擎友好,但这是你需要从你的项目中排除Angular的,因为如果应用程序不再是单一的页面应用。

任何其他更好的方法,为什么?

要么坚持angular度做一个单一的页面应用程序,不要使用swig,或使用它,并排除angular。

  1. 即使你select排除angular度,也有很多其他库可用于数据绑定,所以你可以从中受益。 其余的在这种情况下确实没有用处。
  2. 如果你select包括angular度,真的很不错的select,但不要使用swig来打破angulars SPA的本性,而是尝试SEO的angular度。

如果我继续这一点,我应该如何共享不同模块之间的网页数据注入到它? 任何指南?

如果你真的select了,但是不好的select,共享数据只能通过服务器来实现,并不取决于你使用的是什么(swig,或者ejs或者jade)。 只要读出swig的文档。