我們正在考慮將我們的項目移植到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. findOrCreate創建副本
- 4. Sed創建副本
- 5. Sails JS Model Rest API
- 6. 從資產創建rubygem
- 7. .clone()創建多個副本
- 8. 創建集合的副本
- 9. 創建通訊錄副本
- 10. LINQ和Activator.CreateInstance()創建副本
- 11. Python:創建列表副本
- 12. 創建NSObject的副本
- 13. 產品和副本產品
- 14. Sails js回調函數
- 15. 如何使用遠程資產創建JS庫?
- 16. Sails Js POST請求
- 17. 如何創建生產SQL數據庫的副本?
- 18. 創建Laravel 5包時加載資產
- 19. 生成資產束已經過時 - 創建資產時束
- 20. 如何使用vue js與sails js
- 21. 在Livy上創建另一個副本作爲副本
- 22. 如何讓Sails JS和Browserify運行vueify?
- 23. NG FILE UPLOAD and Sails JS
- 24. sails js認證中間件
- 25. 的NSString與副本財產
- 26. VersionOne .NET SDK創建新資產
- 27. 資產創建 - 9patch SplashScreen和ScreenDensity
- 28. 如何爲統一創建資產?
- 29. 如何在SASS中創建資產?
- 30. 文件創建資產的Android
屬於資產自動加載到帆? – 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