Laravel mix.sass“prependData”不向 scss 文件提供数据

Posted

技术标签:

【中文标题】Laravel mix.sass“prependData”不向 scss 文件提供数据【英文标题】:Laravel mix.sass "prependData" not supplying data to scss files 【发布时间】:2021-09-07 22:14:52 【问题描述】:

我有一个混合文件,我正在向它传递这样的数据:

mix.sass('resources/sass/styles.scss', 'public/assets/css')
    .options(
        processCssUrls: false,
        prependData: '$test: testing prepend;',
        postCss: [tailwindcss('./tailwind.config.js')],
    );

而我正在这样做:

body 
    content: $test;

测试我是否得到 $test 变量。 但是,当我运行该应用程序时,我得到:

我做错了什么?

附注: php artisan --version 返回:8.48.1

【问题讨论】:

【参考方案1】:

使用prependData 不是在options 内,而是作为sass 方法的第三个参数,就像here 所说的那样

在幕后,Laravel Mix 当然遵循 webpack 的 sass-loader 来加载和编译你的 Sass 文件。有时,您可能需要覆盖我们传递给它的默认选项。在这些场景中使用第三个参数来 mix.sass()。

mix.sass('src/app.scss', 'dist', 
    sassOptions: 
        outputStyle: 'nested'
    
);

所以在你的情况下它会是

mix.sass('resources/sass/styles.scss', 'public/assets/css', 
        additionalData: '$test: testing prepend;',
    )
    .options(
        processCssUrls: false,
        postCss: [tailwindcss('./tailwind.config.js')],
    );

【讨论】:

我认为我之前也尝试过,当我这样做时,我得到了这个错误:ERROR in ./resources/sass/styles.scss Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema. 这个***.com/questions/58184549/… 回答你的问题了吗? 我想通了,现在是additionalData,而不是prependData

以上是关于Laravel mix.sass“prependData”不向 scss 文件提供数据的主要内容,如果未能解决你的问题,请参考以下文章

Laravel css 使用 elixir 函数在 xampp 上无法正常工作

laravel 判断 改了哪个定位

使用 laravel 安装程序创建 laravel 项目

Laravel:laravel 可翻译插件

win 怎么laravel命令

laravel 安装失败