laravel mix не может скомпилировать файл scss, содержащий импорт compass/css3

У меня есть файл с именем main.scs что импортировало general.scss файл, который имеет в первой строке это:

@import "compass/css3";

Как вы можете видеть, я импортировал compass/css3 использовать некоторые предопределенные миксины.

Конечно, все они в проекте. Larvel имеют встроенный Mix библиотека для компиляции scss и других типов файлов.

Также я написал это webpack.mix.js файл:

let mix = require('laravel-mix');

mix.sass('resources/assets/sass/main.scss', 'public/main/css');

Но когда работает npm run production Команда, я получил эту ошибку:

 error  in ./resources/assets/sass/main.scss

Module build failed:
@import "compass/css3";
^
      File to import not found or unreadable: compass/css3.
Parent style sheet: D:/wamp/www/loverspay/resources/assets/sass/_general.scss
      in D:\wamp\www\loverspay\resources\assets\sass\_general.scss (line 1, column 1)

Даже я установил компас в каталоге проекта, но есть еще эта проблема

Что я делаю?

1 ответ

Если у вас есть библиотека компаса, установленная внутри node_modules каталог, вы можете попробовать импортировать его так:

@import "~compass/css3";

Если это не поможет, вы можете попробовать изменить sass includePaths Переменная config (у laravel mix есть третий вариант для передачи дополнительной конфигурации):

mix.sass('resources/assets/sass/main.scss', 'public/main/css', {
  includePaths: [path.resolve(__dirname, './relative/path/to/compass')]
});
Другие вопросы по тегам