Как настроить материал веб-компонентов с помощью laravel-mix?

Я использую mdc с laravel-mix, но он не загружает файлы scss из узловых модулей. Я пробовал некоторые другие решения о предоставлении includepaths в mix.sass, но они не работают.

Я попробовал код в webpack.mix.js

const path = require('path');
let mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css', {
    includePaths:  ['./node_modules']
});

но это все еще дает мне ту же ошибку, что

 undefined
        ^
       Can't find stylesheet to import. @import "@material/elevation/mixins";

0 ответов

Для Laravel 6 мне пришлось сделать это так:

npm install --save material-components-web

app.scss:@import "material-components-web/material-components-web";

webpack.mix.js:

mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css', {
    sassOptions: {
        includePaths:  ['./node_modules']
    }
});

Да, ответ Эдмунда Сулзанока правильный, добавьте sassOptions, но и для меня тоже:

Laravel VERSION = '6.7.0';

Мне пришлось обновить npm package.json devDependencies

"devDependencies": {
    ...
    "cross-env": "^6.0.3",
    "laravel-mix": "^5.0.1",
    ...,
    "resolve-url-loader": "^3.1.1",
    "sass": "^1.25.0",
    "sass-loader": "^8.0.2",
    ...
},
"dependencies": {
    ...
    "material-components-web": "^4.0.0",
    ...
}

После изменения package.json запустите npm install

npm install

Вы могли видеть устаревшие пакеты с

npm outdated

удачи

Другие вопросы по тегам