【问题标题】:choosing assets sailsjs选择资产sailsjs
【发布时间】:2013-04-02 10:07:11
【问题描述】:

我已经开始将 SailsJS 用于一个小型网络应用程序,到目前为止它很棒。 但是,我在资产和布局上苦苦挣扎。

基本上,我希望能够根据页面使用不同类型的资产(css 文件组)。 为此,我编写了 2 个不同的布局,每个布局都应包含正确的 css 文件。 但是,当我将这些文件添加到 config/assets.js 文件中时,它们都捆绑在一起。 有没有办法在我的布局中指定我想使用哪些资产? 我知道您可以指定assets.jsassets.styles,但我希望能够创建自己的组。

我还尝试将这些资产放在不同的目录中(例如公共目录)并在我的布局中手动加载它们。它仍然无法正常工作,因为服务器不想“服务”它们。

有什么想法吗?

【问题讨论】:

    标签: javascript express sails.js


    【解决方案1】:

    很高兴你喜欢 Sails :)

    目前,您可以 (a) 始终引入所有样式并仅应用相关样式 (b) 使用其他工具(如 Grunt)来捆绑资产,就像在 vanilla node.js 项目中一样,或者 ( c) 手动链接样式表(将它们放在您的公共文件夹中)。

    至于路线图——社区正在研究更多用于提供模板/样式/客户端逻辑的选项。这里有一个开放的规范:

    https://github.com/balderdashy/sails/issues/240

    希望有帮助!

    【讨论】:

    • 正如我的问题中所述,我尝试了公用文件夹,但它没有用。那我是不是做错了什么?
    • 为了使公用文件夹正常工作,您将资产放在那里并从 layout.ejs 文件手动链接到它们。例如:cp foo.css /path/to/sailsProject/public
    • 要引入所有资产并仅应用相关资产,我只是指以一种可以一次加载所有样式表并且页面仍然存在的方式构建样式和标记正确渲染。希望有帮助!
    • 把东西公之于众没有用,因为我把'public'放在了路径中......现在可以了,谢谢
    【解决方案2】:

    我知道这是旧的,但万一其他人遇到这个;在最新版本的sails 中,资产管道默认是围绕grunt 构建的(我在0.10.x 之前没有使用过sails)。

    您可以在tasks/pipeline.js 中添加自己的导出并将它们链接到tasks/config/sails-linker.js 中的适当位置。例如。你可以有一个views/public 文件夹并告诉sails-linker 在那里注入publicCSS vars。然后调整您的layout.ejs,使其从任何文件夹中导入样式/javascript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2019-09-01
      • 2014-07-23
      相关资源
      最近更新 更多