lesscss @import绝对路径

时间:2016-08-30 19:58:31

标签: css twitter-bootstrap less

我在尝试使用绝对语法从较少的文件引用另一个较少的文件时遇到问题:

减少带位置的文件A

$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它会工作,但我必须按照要求进行目录,而不是。还有其他解决方案吗?但是有限制,bootstrap文件夹不能在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>

1 个答案:

答案 0 :(得分:0)

插件如何运作

biz.gabrys.maven.plugins插件将路径/bootstrap/less/so_colors.less视为绝对路径。它没有将sourceDirectory设置为root,因此它正在寻找/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插件,也不支持其他人。

<强>解决方案

目前,您只能使用../的相对路径。