2015-04-23 1 views
0

У меня есть LESS-файл, который ссылается на абсолютное местоположение (он должен быть абсолютным или grunt-usemin не будет анализировать его должным образом), но это заставляет меньше компилятора не иметь возможности разрешить изображение при обработке image-width().Как установить путь разрешения для ширины изображения?

/client/app/app.less

// logo is located at /client/assets/images/ but "/client" is the 
// web root, which is why the absolute reference is "/assets/images" 
@logo-url: '/assets/images/web-header-111_253x45.gif'; 
@logo-width: image-width(@logo-url); 
@logo-height: image-height(@logo-url); 

.web-header { 
    width: @logo-width; 
    height: @logo-height; 
    background: url(@logo-url); 
} 

/gruntfile.js

grunt.initConfig({ 

    /* TRIMMED */ 

    less: { 
     options: { 
     }, 
     server: { 
     files: [{ 
      src: ['client/app/app.less'], 
      dest: '.tmp/app/app.css' 
     }] 
     } 
    } 

    /* TRIMMED */ 
    }); 

выше выбросит следующую ошибку сборки:

Warning: Running "less:server" (less) task 
>> RuntimeError: error evaluating function `image-width`: ENOENT, no such file or directory 'C:\git\www-project\client\app\assets\images\web-header-111_2 
53x45.gif' in client\app\app.less on line 26, column 14: 
>> 25 @logo-url: '/assets/images/web-header-111_253x45.gif'; 
>> 26 @logo-width: image-width(@logo-url); 
>> 27 @logo-height: image-height(@logo-url); 
Warning: Error compiling client/app/app.less Use --force to continue. 

Aborted due to warnings. 

Вопрос: Что я могу задать для разрешения ширины изображения (...) относительно каталога клиентов C: \ git \ www-project \ client, а не каталога, содержащего app.less?

ответ

0

Если я установил как абсолютный путь URL &, вычисляет относительный путь к файлу, то путь image-width(...) может быть разрешен без проблем.

// logo is located at /client/assets/images/ but "/client" is the 
// web root, which is why the absolute reference is "/assets/images" 
@root: '..'; 
@logo-url: '/assets/images/web-header-111_253x45.gif'; 
@logo-path: '@{root}@{logo-url}'; 
@logo-width: image-width(@logo-path); 
@logo-height: image-height(@logo-path); 

.web-header { 
    width: @logo-width; 
    height: @logo-height; 
    background: url(@logo-url); 
}