我已经开始将SailsJS用于小型网络应用程序,到目前为止它非常棒。 但是我在资产和布局上苦苦挣扎。
基本上我希望能够根据页面使用不同类型的资产(css文件组)。
为此,我写了2个不同的布局,每个布局都应该包含正确的css文件。
但是,当我在config/assets.js
文件中添加这些文件时,所有文件都捆绑在一起。
有没有办法在我的布局中指定我想要使用哪些资产?
我知道您可以指定assets.js
或assets.styles
,但我希望能够创建自己的群组。
我还尝试将这些资源放在不同的目录(例如public)中,然后在我的布局中手动加载它们。它仍然无法正常工作,因为服务器不想“服务”它们。
有什么想法吗?
答案 0 :(得分:6)
很高兴你喜欢Sails :)。
目前,您可以(a)始终引入所有样式并仅使相关的样式适用(b)使用其他工具(如Grunt)捆绑资产,就像在vanilla node.js项目中一样或( c)手动链接样式表(将它们放在公共文件夹中)。
至于路线图 - 社区正在研究更多用于提供模板/样式/客户端逻辑的选项。这里有一个开放的规范:
https://github.com/balderdashy/sails/issues/240
希望有所帮助!
答案 1 :(得分:1)
我知道这是旧的,但万一其他人遇到这个问题;在最近的sails版本中,默认情况下资产管道是围绕grunt构建的(我没有在0.10.x之前使用过sails。)
您可以在tasks/pipeline.js
中添加自己的导出,并将其链接到tasks/config/sails-linker.js
中的相应位置。例如。你可以有一个views/public
文件夹并告诉sails-linker在那里注入publicCSS
个变种。然后调整layout.ejs
,以便从任何文件夹中导入样式/ javascript。