如果我使用 Angular 作为前端,我是否需要使用 ejs 或布局?
Will I ever need to use ejs or layouts if I use Angular for frontend?
我目前在后端使用 Sails,它带有一个 ejs 视图引擎和一个相当简洁的模板系统。但是,在事物的前端设置Angular会妨碍这些功能。
例如,我不能再使用模板,因为如果我在 layout.ejs
中说 <html ng-app="myApp">
Angular 将永远不会初始化。
我应该包含任何 ejs 模板。
所以我现在所做的是在我的 assets
文件夹中创建一个 index.html
文件,关闭 Sails 路线和布局,并且我纯粹使用 Angular。这对我当前的项目来说很好(除了我不能像以前那样整洁,样板 html 需要放在那里,等等)但是在其他项目中会不会有问题,我想知道?
换句话说,不使用 ejs 我错过了什么?我怎样才能从我的 Sails 控制器中获取东西到我的视图中?还是我不需要?
首先,这个问题可以根据各种变量进行解释。
如果您的APP只是JSON交付API,那么实际上您不需要使用模板引擎。所以你的问题的基本前提是有效的。
但是,使用模板引擎的理由仍然很多。
例如,您仍然可以使用 EJS 为您的 angular 站点设置默认布局和索引页面。
For instance, I can no longer use templates, because if I have say inside layout.ejs Angular will never initialize.
这种说法是完全错误的。我在 SPA 上为我的索引页面使用服务器呈现模板,以便使用我的应用程序版本指向更新的资产和模板文件。这样,当我更新我的应用程序时,旧模板文件将不会被缓存。根据应用程序的不同,索引页面可能是唯一使用模板引擎的页面,因为其他所有内容都将使用静态模板。其他我让服务器也使用模板引擎呈现我的模板(例如:如果我想根据用户角色限制模板的某些方面。)
还有其他原因。您可以尝试使用 Google Groups for sails,因为这更像是一个开放式问题。
如果您将 Angular 用于前端,将 SailsJs 用于后端,则最佳做法是拥有两个不同的应用程序,这意味着您无需使用 sails 来呈现视图(无需强制使用 EJS)。
AFAIK SailsJS 只需要用作 REST API 而 Angular 需要呈现您的视图(您可以使用 http.post get put and delete 与您的 api 进行通信)。
此致。
由于sails.js是纯后端而Angular.js是纯前端,所以它们可以很好地协同工作。
您需要做的就是将 angular 文件和逻辑放入
myapp/assets
文件夹。 Assets 文件夹在 sails 服务器 url.
上默认是可访问的
您可以通过 http://localhost:1337/assets/file_name.
访问它
至于 ejs,如果您正在使用任何 javascript 框架,例如 angular.js 那么它不是必需的,因为所有 JSON api 都将在 sails 中制作框架和 angular 将获取 JSON 格式的数据。
我目前在后端使用 Sails,它带有一个 ejs 视图引擎和一个相当简洁的模板系统。但是,在事物的前端设置Angular会妨碍这些功能。
例如,我不能再使用模板,因为如果我在 layout.ejs
中说 <html ng-app="myApp">
Angular 将永远不会初始化。
我应该包含任何 ejs 模板。
所以我现在所做的是在我的 assets
文件夹中创建一个 index.html
文件,关闭 Sails 路线和布局,并且我纯粹使用 Angular。这对我当前的项目来说很好(除了我不能像以前那样整洁,样板 html 需要放在那里,等等)但是在其他项目中会不会有问题,我想知道?
换句话说,不使用 ejs 我错过了什么?我怎样才能从我的 Sails 控制器中获取东西到我的视图中?还是我不需要?
首先,这个问题可以根据各种变量进行解释。
如果您的APP只是JSON交付API,那么实际上您不需要使用模板引擎。所以你的问题的基本前提是有效的。
但是,使用模板引擎的理由仍然很多。
例如,您仍然可以使用 EJS 为您的 angular 站点设置默认布局和索引页面。
For instance, I can no longer use templates, because if I have say inside layout.ejs Angular will never initialize.
这种说法是完全错误的。我在 SPA 上为我的索引页面使用服务器呈现模板,以便使用我的应用程序版本指向更新的资产和模板文件。这样,当我更新我的应用程序时,旧模板文件将不会被缓存。根据应用程序的不同,索引页面可能是唯一使用模板引擎的页面,因为其他所有内容都将使用静态模板。其他我让服务器也使用模板引擎呈现我的模板(例如:如果我想根据用户角色限制模板的某些方面。)
还有其他原因。您可以尝试使用 Google Groups for sails,因为这更像是一个开放式问题。
如果您将 Angular 用于前端,将 SailsJs 用于后端,则最佳做法是拥有两个不同的应用程序,这意味着您无需使用 sails 来呈现视图(无需强制使用 EJS)。 AFAIK SailsJS 只需要用作 REST API 而 Angular 需要呈现您的视图(您可以使用 http.post get put and delete 与您的 api 进行通信)。
此致。
由于sails.js是纯后端而Angular.js是纯前端,所以它们可以很好地协同工作。
您需要做的就是将 angular 文件和逻辑放入
myapp/assets
文件夹。 Assets 文件夹在 sails 服务器 url.
上默认是可访问的您可以通过 http://localhost:1337/assets/file_name.
访问它至于 ejs,如果您正在使用任何 javascript 框架,例如 angular.js 那么它不是必需的,因为所有 JSON api 都将在 sails 中制作框架和 angular 将获取 JSON 格式的数据。