带有快速模板或纯HTML的AngularJS? 优点和缺点?

Express JS使用模板来生成HTML,然后服务器将它们发送给客户端作为响应。 可能有几个其他模板可以从中生成HTML。 我能够发现的是:

  • 翡翠( http://jade-lang.com/ )

  • EJS( http://embeddedjs.com/ )

在我的应用程序中,我需要使用ExpressJS和AngularJs。 我对这两种技术都很陌生。 在学习angular的时候,我不得不在纯HTML中使用它。 在学习ExpressJs之后,我意识到,为了使用angularjs,我需要在发送到客户端时将它们转换为HTML的任何上述模板中使用它们。

现在,我想使用expressjs作为我的服务器和angularjs作为我的客户端应用程序。 为此,我想我有两个select。

选项1

我可以完全停止使用模板,并使用我们的NodeJS服务器通过发送简单的HTML文件进行响应。 这些HTML文件将包含AngularJS编码。 然后,在客户端,AngularJS将作为我们的应用程序。 它会要求来自服务器的其他HTML文件。 或者它也可以像AJAX一样使用,在那里我们只能请求这条信息来更新页面的一部分,而不是刷新整个页面的一个小的改变。

选项2

我可以在expressjs模板(jade或ejs)中使用angularjs。

请帮助我理解两种select的优缺点。 在这种情况下,哪一个将是您的select。

这是一个意见问题和堆栈溢出pipe理员讨厌任何意见,但这里是我的经验和意见。

我已经使用纯静态文件(HTML,CSS和JavaScript)与那些调用后端服务来传递数据的应用程序完成了一些应用程序。 它减less了后端,无论它是什么(我已经使用Java和Node.js),只是一组服务的URL,但它的工作非常好。

  • 在两个系统的责任之间有一条绝妙的线路
  • 独立工作和testing每个人都非常容易
  • 错误通常在前端或后端非常清楚(你只需要看看传输的数据就知道了)
  • 后端服务已准备就绪,可以通过命令行支持其他用户界面,如果需要,还可以使用特定的移动设备
  • 您可以使用一种技术作为后端(如Node.js或Ruby on Rails),然后在需要时切换到其他内容。 只要API保持不变,前端永远不会知道。

我个人使用Express / Jade的AngularJS。 设置其实很简单,我发现写Jade比编写HTML更愉快。 我还采用了在CoffeeScript中编写我的Angular代码,因为它使得开发更快捷。 如果您希望保存击键,那么Jade是一个很好的解决scheme,它与Express的集成使其成为一个明智的select。 如果您不担心更快地生成代码,那么使用HTML绝对没有问题。

我将指出,我发现在HTML上使用Jade的最大好处之一是能够在多个文件中开发单个页面,然后使用include在编译为HTML之前将其进行拼接。 这可以让你把更大的页面,并分解成更多的可pipe理的块。 与Angular的模板一起,这可以减轻很多挫折感。

真的这是一个意见的问题,但是因为我决定给Jade一个镜头,所以我没有后悔,而且在使用Angular的时候,我从来没有遇到过我的HTML渲染不正确的情况。

我select了第一种select,因为我不想处理任何与玉或ejs错误地转换模板和干扰Angular的潜在问题。 我的应用程序本质上有索引页面(这实际上只是我的CSS和JS包含的基本页面模板)出来expression玉,然后棱angular把它来到那里,我所有的angular模板是在一个单独的位置比我的玉模板。