我有一个Sinatra应用程序,我正在为/assets
的Sprockets资源提供服务。效果很好,但由于我是一个完美主义者,为了尽可能保持整洁,我希望从各自的子目录中提供资产。
即我希望将#{root}/app/assets/stylesheets/application.css.scss
/assets/stylesheets/application.css
作为/assets/application.css
投放,而不仅仅是{{1}}。
这可能吗?米德曼做了类似的事情,但我不确定它实际上是多少依靠链轮。
答案 0 :(得分:0)
Middleman是一个静态网站生成器,因此资产已经过预编译,就像它们位于public directory中一样,这意味着您可以拥有一个stylesheets
它将成为用于访问子目录中资产的URL的一部分。
Sprockets在访问资产时对其进行编译,然后对其进行缓存(据我所见),并使用Rack application从逻辑路径中提供资源。从链轮自述文件:
逻辑路径是资产源文件相对于其的路径 包含加载路径中的目录。例如,如果您的加载路径 包含目录app / assets / javascripts:
资产源文件|逻辑路径
app / assets / javascripts / application.js | application.js中
app / assets / javascripts / models / project.js |模型/ project.js
我没有在文档中看到明显的更改设置,除非您愿意查看源代码并进行一些修改,否则我会说答案是否定的。也许您可以尝试缩短加载路径并查看它是否包含子目录?