2016-08-30 1125 views
1

我有问题,尝试使用绝对语法从一个不太文件引用另一个不太文件:lesscss @import以绝对路径

以下文件中的位置与

$find `pwd` -name auth0.less 
/Users/panos/dcimsupport/struxureon/auth0/src/main/resources/css/auth0.less 

进口较少的文件B

@import '/bootstrap/less/so_colors.less'; 

现在,so_colors.less有位置

find `pwd` -name so_colors.less 
/Users/panos/dcimsupport/struxureon/auth0/src/main/resources/bootstrap/less/so_colors.less 

java.io.FileNotFoundException: File /Users/panos/dcimsupport/struxureon/auth0/src/main/resources/css/bootstrap/less/so_colors.less 

似乎lesscss就像被判入狱的css文件夹上面的失败。我知道,如果我导入为../bootstrap/.....less,它将起作用,但随后我必须按照需要更新目录,我宁愿不要。还有其他解决方案吗?有限制虽然,引导夹不能CSS文件夹下

我已经使用两个

<groupId>biz.gabrys.maven.plugins</groupId> 
<artifactId>lesscss-maven-plugin</artifactId> 

<groupId>org.lesscss</groupId> 
<artifactId>lesscss-maven-plugin</artifactId> 

与配置如

<configuration> 
<sourceDirectory>${project.basedir}/src/main/resources</sourceDirectory> 
<outputDirectory>${project.basedir}/target/classes/resources</outputDirectory> 
<compress>true</compress> 
<includes> 
    <include>css/**/*.less</include> 
    <include>layouts/**/*.less</include> 
    <include>page/**/*.less</include> 
    <include>pages/**/*.less</include> 
</includes> 

+0

我假设' org.lesscs'可以吗? – Todd

+0

你试过换成' org.lesscss'? – Todd

+0

这个错字是从未使用的配置文件中提取的,我改变了它,但结果没有改变。 –

回答

0

插件如何工作

biz.gabrys.maven.plugins插件将路径/bootstrap/less/so_colors.less视为绝对路径。它不会将sourceDirectory设置为根,因此它正在寻找/bootstrap/less/so_colors.less而不是/Users/panos/dcimsupport/struxureon/auth0/src/main/resources/bootstrap/less/so_colors.less。该文件不存在,因此该插件使用后备并将其视为相对于/Users/panos/dcimsupport/struxureon/auth0/src/main/resources/css/auth0.less。这就是它寻找/Users/panos/dcimsupport/struxureon/auth0/src/main/resources/css/bootstrap/less/so_colors.less的原因。

org.lesscss插件的工作原理类似。


你的点子改善

我可以尝试这样的改进添加到我的插件,但首先我需要完成一些迁移过程。不幸的是,这意味着我可以在不久的将来发布这种改进(例如2016年底)。

作者不支持org.lesscss插件,也没有其他人支持。


解决方案

现在你只能使用与../相对路径。