tasks/
目錄是一套 Grunt 任務及其設定,為了您的方便而捆綁在一起。Grunt 整合主要用於捆綁前端資源(例如樣式表、腳本和標記範本),但它也可用於執行各種開發任務,從 browserify 編譯到資料庫遷移。
如果您之前沒有使用過 Grunt,那也沒關係!對於許多常見的用例,您可以不必自訂甚至不必查看此資料夾中的檔案。如果您確實需要自訂某些內容,請務必查看 入門指南,因為它解釋了基本概念,例如 Gruntfile 以及如何安裝和使用 Grunt 外掛程式。一旦您熟悉了該過程,請繼續閱讀!
Sails 中捆綁的資源管道是一組 Grunt 任務,這些任務配置了傳統預設值,旨在使您的專案更一致且更有效率。
Sails 中的整個前端資源工作流程是完全可自訂的——雖然它提供了一些開箱即用的建議,但 Sails 並不假裝它可以預料到您在建置應用程式的瀏覽器端/前端部分時將遇到的所有需求。誰說您甚至是在為瀏覽器建置應用程式呢?
當您執行某些命令時,Sails 會自動執行其中一些任務(tasks/register/
資料夾中的某些任務)。
sails lift
執行 default
任務 (tasks/register/default.js
)。
sails lift --prod
執行 prod
任務 (tasks/register/prod.js
)。
sails www
執行 build
任務 (tasks/register/build.js
)。
sails www --prod
(生產環境)執行 buildProd
任務 (tasks/register/buildProd.js
)。
您可以修改、省略或替換任何這些 Grunt 任務以符合您的需求。您也可以新增自己的 Grunt 任務——只需在 grunt/config
目錄中新增 someTask.js
檔案以設定新任務,然後將其註冊到適當的父任務(請參閱 grunt/register/*.js
中的檔案)。
不!Sails 核心團隊在實際專案中使用 Grunt 已有 4 年以上的時間,總體而言,它一直是一個很棒的工具。但我們意識到它並非適用於所有人。若要在 Sails 中停用 Grunt 整合,只需刪除您的 Gruntfile 或停用 Grunt hook。
沒關係!Sails 的核心原則是客戶端不可知論——它專門為建置各種客戶端使用的 API 而設計;原生 Android/iOS/Cordova、伺服器端 SDK 等。
您可以依照此處的指示完全停用 Grunt。
如果您仍然想將 Grunt 用於其他目的,但不想要任何預設的 Web 前端內容,只需刪除專案的 assets
資料夾,並從 grunt/register
和 grunt/config
資料夾中移除面向前端的任務。您也可以執行 sails new myCoolApi --no-frontend
,以在未來的專案中省略 assets
資料夾和面向前端的 Grunt 任務。您也可以使用替代的社群產生器替換您的 sails-generate-frontend
模組,或建立您自己的模組。這允許 sails new
建立原生 iOS 應用程式、Android 應用程式、Cordova 應用程式、SteroidsJS 應用程式等的樣板。
如果您知道您永遠不需要任何類型的 Web 前端,您也可以使用
--no-frontend
產生新的 Sails 應用程式。
有關使用 Grunt 處理靜態資源的更多資訊:https://grunt.dev.org.tw/configuring-tasks