Возникла необходимость получать файл стилей в виде строки (для дальнейшего его импорта
import styles from "./app.css"
и подключения в документ с созданием тега style
Насколько разобрался, есть разные пакеты npm (напр., sass-to-string; raw-loader, кот. заменили встроенными Asset Modules - asset/source)
Пример подключения sass-to-string
rules: [
{
test: /\.styles.scss$/,
exclude: /node_modules/,
use: [
"sass-to-string",
{
loader: "sass-loader",
options: {
sassOptions: {
outputStyle: "compressed",
},
},
},
],
},
],
Но как их внедрить в laravel mix к текущим правилам? - в rules под капотом подпихиваются правила обработки scss, как можно в них подкинуть свои загрузчики?
Использую стандартную конфигурацию:
mix.js('resources/js/app.js','public/js')
.vue()
.sass('resources/sass/app.scss','public/css')
Использую стандартный webpackConfig
mix.webpackConfig(webpack => {
return {
module: {
rules: [
{
test: /\.mjs$/,
resolve: {
fullySpecified: false
},
include: /node_modules/,
type: "javascript/auto"
},
]
}}})