1

如果 less 都在一个文件中,则按照说明一切正常,但是,使用 @import 它会丢失对变量的所有引用。

我将 .less 文件放在 /vendor/frameworks/ 下

将以下内容添加到 application.rb

config.less.paths << "#{Rails.root}/vendor/frameworks"
config.less.compress = true

在 /app/assets/stylesheets/application.css

... 
main.css.less
...

main.css.less 的内容:

@import "variables";
@import "common";

variables.less 和 common.less 被放入供应商/框架中。

可以找到文件,这一切都很好。但是,当我在生产环境中预编译时,在 variables.less 中定义的变量无法在 common.less 中访问,这使得它毫无用处。我的框架中少了 25 个文件,我不想将它们全部放入一个文件中。

我在我的 gemfile 中添加了这些:

gem 'therubyracer'
gem 'therubyrhino'
gem 'less-rails'

上面描述的这个功能应该工作,还是意味着全部在一个文件中?我希望不是这样。谢谢,G

编辑:预编译时忘记添加错误消息:

RAILS_ENV=development rake assets:precompile
....
Less::ParseError: variable @base is undefined
  (in /Users/[myuser]/Development/RoR/myapp/vendor/assets/frameworks/common.less)
at /Users/[myuser]/.rvm/gems/ruby-2.0.0-p247/gems/less-2.5.0/lib/less/js/lib/less/parser.js:604:31
4

0 回答 0