如果我使用Angular作为前端,我会需要使用ej或布局吗



我目前使用Sails作为后端,它附带了一个ejs视图引擎和一个相当整洁的模板系统。然而,在事物的前端设置Angular会妨碍这些功能。

例如,我不能再使用模板了,因为如果我说layout.ejs中的<html ng-app="myApp">Angular永远不会初始化。

同样的事情应该包括任何ejs模板。

因此,我现在所做的是在我的assets文件夹中创建一个index.html文件,关闭Sails路线和布局,并纯粹使用Angular。这对我目前的项目来说很好(除了我不能像以前那样整洁,样板html需要放在那里,等等),但我想知道这在其他项目中会是个问题吗?

换句话说,不使用ejs会错过什么?我如何才能将Sails控制器中的内容输入到我的视图中?还是我不需要?

首先,这个问题对基于各种变量的解释是开放的。

如果你使用你的应用程序只是作为JSON提供API,那么实际上你不需要使用模板引擎。所以你的问题的基本前提是有效的。

然而,他们仍然有大量的reaon来使用模板引擎。

例如,您仍然可以使用EJS为您的angular站点设置默认布局和索引页面。

例如,我不能再使用模板了,因为如果我在layout.ejs内部有发言权,Angular永远不会初始化。

这句话完全错误。我在SPA上的索引页面使用服务器渲染模板,以便使用我的应用程序版本指向更新的资产和模板文件。这样,当我更新应用程序时,旧的模板文件将不会被缓存。根据应用程序的不同,索引页面可能是唯一使用模板引擎的页面,因为其他所有页面都将使用静态模板。其他人我让服务器也使用模板引擎来呈现我的模板(例如:如果我想根据用户角色限制模板的某些方面。)

还有其他原因。你可以试试谷歌群组,因为这更多的是一个开放式的问题。

https://groups.google.com/forum/#!论坛/sailsjs

如果前端使用Angular,后端使用SailsJs,则最佳做法是使用两个不同的应用程序,这意味着您不必使用sails来渲染视图(不必使用EJS)。AFAIK SailsJS只需要用作REST API,而Angular需要呈现您的视图(您可以使用http.postget-put和delete与您的API通信)。

谨致问候。

由于sails.js纯粹是后端,Angular.js纯粹是前端,所以它们可以很好地协同工作。

你所需要做的就是把你的角度文件和逻辑放在中

myapp/assets

文件夹。默认情况下,Assets文件夹可以访问帆服务器url。

您可以作为http://localhost:1337/assets/file_name.

至于ejs,如果你使用任何像angular.js这样的javascript框架,那么这不是一个要求,因为所有的JSON api都将在sails框架中制作,angular将获得JSON格式的数据。

最新更新