Javascript 如果我在前端使用Angular,我是否需要使用ejs或布局?

Javascript 如果我在前端使用Angular,我是否需要使用ejs或布局?,javascript,angularjs,node.js,sails.js,Javascript,Angularjs,Node.js,Sails.js,我目前正在使用Sails作为后端,它附带了一个ejs视图引擎和一个相当整洁的模板系统。然而,在事物的前端设置角度将阻碍这些功能的实现 例如,我不能再使用模板了,因为如果我在layout.ejsAngular中说,它将永远不会初始化 同样的事情,我应该包括任何ejs模板 因此,我现在所做的是在我的assets文件夹中创建一个index.html文件,关闭了帆的路线和布局,我纯粹是在处理Angular。这对我当前的项目来说很好(除了我不能让事情像我习惯的那样整洁,样板html需要放在那里,等等),但

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

例如,我不能再使用模板了,因为如果我在
layout.ejs
Angular中说
,它将永远不会初始化

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

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


换句话说,不使用ejs会错过什么?我怎样才能从我的风帆控制器中获取信息?或者我不需要吗?

首先,这个问题可以根据各种变量进行解释

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

然而,他们仍然有很多理由使用模板引擎

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

例如,我不能再使用模板,因为如果我说inside layout.ejs Angular将永远不会初始化

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

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


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


致以最诚挚的问候。

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

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

myapp/资产

文件夹。默认情况下,sails服务器url上可以访问资产文件夹

您可以按以下方式访问它


至于ejs,如果您使用的是像angular.js这样的javascript框架,那么这不是一个要求,因为所有JSON api都将在sails框架中生成,angular将以JSON格式获取数据。

哦,谢谢。这句话本身并没有错,因为我确实测试过它,但我明白你的意思,因为有一种方法可以让它正常工作。我可以问问这个结构看起来怎么样吗?如果我在布局文件中“初始化”它,我需要做什么才能使其工作?这取决于您的设置。如果您想为spa使用服务器生成的索引页,那么首先需要创建一个顶级策略来检查请求是否需要json。如果没有,则需要重定向到index.html。这假设您拥有的唯一html页面是索引。否则,您将按照sails站点上记录的插入脚本和css的相同方式设置布局/索引页面。您还可以创建自己的grunt/gulp任务来渲染ng模板。就像我说的,很长的问题/答案。如果你想要更可靠的答案,试试谷歌群组。这不是最好的做法。这是一种实践。事实上,双击团队讨论了一种在将模板发送到客户端之前在服务器上修改模板的方法。显然,您可以将模板处理与angular/ejs或whatecer与sails一起使用,但是如果他想优化响应时间,他应该将sails用作REST API。您正在谈论的方法就是所谓的模板处理,据我所知,渲染视图并发送它比发送json输出和加载需要更新的dom部分要花更多的时间。如果受欢迎的人或一群人谈论一种做法,这并不总是一种最佳做法,请将其视为一种推荐用法。祝您有个美好的一天。