[英]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為角度站點設置默認布局和索引頁面。
例如,我不能再使用模板,因為如果我在layout.ejs中說,Angular永遠不會初始化。
這句話完全錯了。 我在SPA上的索引頁面使用服務器渲染模板,以便使用我的應用程序版本指向更新的資產和模板文件。 這樣,當我更新我的應用程序時,不會緩存舊的模板文件。 根據應用程序,索引頁面可能是唯一使用模板引擎的頁面,因為其他所有內容都將使用靜態模板。 其他我讓服務器使用模板引擎渲染我的模板(例如:如果我想根據用戶角色限制模板的某些方面。)
還有其他原因。 您可以嘗試Google Groups for sails,因為這更像是一個開放式問題。
如果您使用Angular作為前端而SailsJs用於后端,則最佳做法是使用兩個不同的應用程序,這意味着您沒有使用sails來呈現視圖(無EJS強制性)。 AFAIK SailsJS只需要用作REST API,而Angular需要渲染你的視圖(你可以使用http.post get put和delete來與你的api通信)。
最好的祝福。
由於sails.js純粹是后端而Angular.js純粹是前端,因此它們可以很好地協同工作。
您需要做的就是放置角度文件和邏輯
MYAPP /資產
夾。 默認情況下,資產文件夾在sails服務器URL上是不可訪問的。
您可以將其作為http:// localhost:1337 / assets / file_name訪問 。
至於ejs,如果你使用像angular.js這樣的任何javascript框架,那么它不是必需的,因為所有JSON api都將在sails框架中生成,而angular將以JSON格式獲取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.