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
.
位于同一文件夹中
我正在处理一个使用资产管道的 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
.