我們正在考慮將我們的項目移植到Sails.js。我們的靜態資產非常大 - 超過3 GB。所以,這已經造成了一個嚴重的限制,因爲它將我們的應用程序擴大了一倍。我們可以修改Sails js來防止這種默認行爲,或者可以推薦一些其他框架嗎?Sails js - 創建資產副本
1
A
回答
6
Sails使用Grunt在每次解除應用程序時將您的資產複製到(默認)清潔.tmp/public文件夾中。這使您可以選擇並公開哪些資產,還可以讓您在不同的環境中編譯和縮小資產。除非您在版本控制下將.tmp置於版本控制之下,否則這不一定是應用程序大小的兩倍,但如果您擁有大量資產,它肯定會使您的應用程序啓動緩慢。
這裏最簡單的解決方案是關閉Grunt並直接從資產文件夾中爲您的靜態資產提供服務。要做到這一點:
- 刪除Gruntfile.js(或者其重命名爲Gruntfile.js.bak)
創建名爲配置/ assets.js一個新的配置文件(或任何你喜歡,名字並不重要),並把裏面如下:
module.exports = { paths: { public: __dirname+"/../assets" } };
之所以把這個在NE W¯¯配置文件,而不是配置/ local.js是local.js在你的.gitignore文件默認情況下,所以如果你使用Git版本控制你必須每次都重新創建該文件你在新機器上安裝應用程序。
就像我說的,這是最簡單的解決方案,但它也有一些缺點:
- 沒有更多的自動編譯/資產的縮小文件在生產模式
- 的的JavaScript/CSS文件中沒有更多的自動連接使用在asset pipeline
如果您想保留這些功能,但仍避免將大量的文件到的.tmp,那麼答案就在於修改默認咕嚕任務(這就是他們在你的項目!)。
0
在Sails.js 0.11你可能只是添加下面的代碼到.sailsrc文件:
"hooks": { "grunt": false }
相關問題
- 1. 創建副本的js
- 2. 創建副本
- 3. Sed創建副本
- 4. findOrCreate創建副本
- 5. Sails js和Sequelize
- 6. Sails JS Model Rest API
- 7. 從資產創建rubygem
- 8. 無法創建資產
- 9. Python:創建列表副本
- 10. 創建表的副本mysql
- 11. 循環創建副本
- 12. Outlook VBA AppointmentItem.Move創建副本
- 13. 創建列表副本
- 14. 創建類型副本
- 15. LINQ和Activator.CreateInstance()創建副本
- 16. 創建視圖的副本?
- 17. 創建通訊錄副本
- 18. 創建集合的副本
- 19. 創建對象的副本
- 20. 創建NSObject的副本
- 21. 創建副本在Linux中
- 22. .clone()創建多個副本
- 23. 產品和副本產品
- 24. Symfony2:資產版本與資產
- 25. Sails js回調函數
- 26. 爲什麼資產在開發中生成我的資產的多個副本?
- 27. 如何使用遠程資產創建JS庫?
- 28. Sails Js POST請求
- 29. 如何創建生產SQL數據庫的副本?
- 30. 在sails中創建網址js節點框架
屬於資產自動加載到帆? – Gelidus 2014-09-30 11:27:11
@Gelidus剛剛將我們的應用的靜態文件複製到資產文件夾中,並且它自動創建了一個.tmp/public文件夾,其中所有資產已被複制。 – 2014-09-30 11:31:59
Sails將該文件夾創建爲公共服務器文件夾。我會嘗試去配置文件,並設置「路徑」:{public:}資產文件夾 – Gelidus 2014-09-30 11:37:15