Grails 资产管道似乎无法导入更少的文件

Grails asset pipeline does not work seem to work for importing less files

我正在处理一个使用资产管道的 Grails 项目。我有以下 1 css 个文件和 2 个较少的文件...

main.css

/*
*= require flex/xBrowserFlex.css
*= require dashboard/dashboard.css
*/

xBrowserFlex.less

.simple-column-flex{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  flex-direction: column;
}

my.less

@import "xBrowserFlex.less";

但是当我尝试访问该页面时,我在 grails 控制台中收到以下错误...

2015-02-16 11:04:08 ERROR [org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver] MissingMethodException occurred when processing request: [GET] /mxnetweb/assets/lineplanning.css
No signature of method: org.mozilla.javascript.Undefined.replaceAll() is applicable for argument types: (java.lang.String, asset.pipeline.processors.CssProcessor$_process_closure1) values: [url\([\'\"]?([a-zA-Z0-9\-\_\./\@\#\?\ \&\+\%\=]+)[\'\"]?\), ...]. Stacktrace follows:
groovy.lang.MissingMethodException: No signature of method: org.mozilla.javascript.Undefined.replaceAll() is applicable for argument types: (java.lang.String, asset.pipeline.processors.CssProcessor$_process_closure1) values: [url\([\'\"]?([a-zA-Z0-9\-\_\./\@\#\?\ \&\+\%\=]+)[\'\"]?\), ...]
    at asset.pipeline.processors.CssProcessor.process(CssProcessor.groovy:35)

所以这看起来可能是资产管道的问题。我该如何处理?

资产管道信息

<grails.assets.less.version>1.9.0</grails.assets.less.version>

更新

澄清一下,如果我注释掉 include 并将 less 复制到 my.less 文件中,一切正常。这里的问题是,当我尝试导入另一个包含在资产管道中的 less 文件时,它不起作用。

您没有真正提供足够的信息来找出导致问题的原因,例如错误消息中提到的文件是 lineplanning.css,但您根本没有提到它。

也许您可以通过将您的项目与 this example 进行比较来找出问题所在,后者使用带有 less 和 CSS 的 asset-pipeline 插件。

style.less imports various other less files, and the CSS generated from style.less is included in this file 通过

/*
*= encoding UTF-8
*= require autocomplete/styles.css
*= require style.css
*/

请注意我们 require style.css,因为这是从 style.less 生成的输出文件的名称。

我需要删除

*= require flex/xBrowserFlex.css

并确保 xBrowserFlex.less 文件与 my.less.

位于同一文件夹中