![](/img/trans.png)
[英]Using grunt to compile jade templates to javascript functions in sails.js
[英]Sails.js + grunt doesn't compile assets
我是整個NodeJS風暴的新手,經過一番研究,我決定使用Sails.JS作為框架。
一切正常,直到我嘗試使用Bootstrap Bootswatch .less文件。
如果我將bootswatch.less復制到樣式文件夾中,並刷新頁面,則我的所有資產都會引發404錯誤。
我的目錄樹如下所示:
Root
|_api
|_assets
|_|_images
|_|_linker
|_|_|_fonts
|_|_|_js
|_|_|_styles
|_|_|_|_bootstrap.css
|_|_|_|_custom.less
|_|_|_|_variables.less
|_|_|_|_bootswatch.less
|_|_|_templates
|_configs
etc.
我的gruntfile.js看起來像這樣:
var cssFilesToInject = [
'linker/styles/variables.less',
'linker/styles/bootstrap.css',
'linker/styles/bootswatch.less',
'linker/styles/custom.less',
'linker/**/*.css'
];
我嘗試用sails lift --verbose
啟動服務器,並且未引發任何錯誤。
遇到了同樣的問題,但是找到了一個更好的解決方案–盡管不是完美的。 基本上,您在項目根目錄中運行grunt compileAssets
。 如果可行,那么我們走在正確的軌道上。
最好解決帆在升起時沒有編譯資產的實際問題。
所以這對我有用:
我翻閱了咕files的文件,以了解發生了什么。 由於手動編譯資產工作正常,因此Grunt似乎運行正常。 然后我偶然發現了項目根目錄下的.sailsrc
文件。 看起來是這樣的:
{
"generators": {
"modules": {}
},
"hooks": {
"grunt": false
}
}
看來Grunt已關閉。 我把它改成了這個,揚帆起航了!
{
"generators": {
"modules": {}
},
"hooks": {
// "grunt": false
}
}
我還真的不知道這是做什么的,所以也許這是一個過時的解決方案,但是它讓我恢復了工作。 當我獲得有關Sails的更多經驗時,如果這不正確,我會進行適當修復。
框架的不錯選擇! Sails很棒,並且可以與Angular.js創建均值堆棧,無論如何,我所看到的Sails.js自動編譯的所有內容充其量都是一項棘手的事情,因為有很多與此主題相關的話題。
我也遇到了使其與SCSS文件一起使用的問題。
總的來說,如果您使用任何終端手動編譯文件並將其鏈接到styles目錄,那將是最好的選擇。
如果您設法找到另一種很棒的方法,但是資產未編譯的原因可能是由於眾多因素所致,您將花費數小時來進行整理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.