【发布时间】:2016-02-20 15:23:15
【问题描述】:
现在得到好的答案可能还为时过早,但我们开始吧:我有一个测试 Rails 项目,assets/ 目录看起来像这样:
config/
manifest.js
images/
javascripts/
application.js
stylesheets/
_base.scss
_reset.scss
_theme.scss
_variables.scss
application.scss
清单文件如下所示:
// JS and CSS bundles
//= link_tree ../javascripts .js
//= link_tree ../stylesheets .css
// Images so that views can link to them
//= link_tree ../images
而application.scss 是这样的:
@import "reset";
@import "variables";
@import "base";
@import "theme";
_base.scss 和_theme.scss 都使用_variables.scss 文件中定义的变量。
我想要它只是像往常一样编译application.scss,但它失败了,因为它认为变量没有被定义;这是合理的,我作为树链接,所以[我假设]它正在单独编译每个文件,并且变量在那个时间点对这两个文件不可用。
所以我尝试link ../stylesheets/application.css 而不是树,我收到错误消息couldn't find file '../stylesheets/application.css' under '/Users/danielcouper/Projects/myproject/app/assets/config'; 即它似乎完全看错了地方,或者根据您使用的是link还是link_tree,关于文件路径有不同的(未记录的)规则。
如果我将manifest.js 从assets/config/ 目录移出到assets/ 以使相对路径正常工作,如the Sprockets upgrading notes 中所述,我收到一条错误消息,告诉我assets/config/ 下没有清单文件.
目前[可以理解]文档非常稀疏;我读过的唯一有用的东西是http://eileencodes.com/posts/the-sprockets-4-manifest/,它让我明白了这一点
【问题讨论】:
-
我遇到了同样的问题,也找不到答案。我目前正在到处手动导入所需的文件。
标签: ruby-on-rails sass sprockets