简体   繁体   English

sass-loader 前置 @import

[英]sass-loader prepend @import

Trying to prepend global styles imports to each *.scss file.尝试将全局样式导入添加到每个 *.scss 文件中。 my relevant webpack config is我相关的 webpack 配置是

{
    test: /\.scss$/i,
    use: [
        'style-loader',
        'css-loader',
        {
            loader: 'sass-loader',
            options: {
                sassOptions: {
                    includePaths: [
                        path.resolve(__dirname, 'path-to-global-style-dir'),
                    ],
                },
                prependData: `        
                    @import "${path.resolve(__dirname, 'path-to-global-style.scss')}";
                `,
            },
        },
    ],
},

I'm getting the following error -我收到以下错误 -

SassError: Invalid CSS after "'": expected 1 selector or at-rule, was "'use strict';"

I'm using webpack 4.42.1, sass-loader 8.0.2我正在使用 webpack 4.42.1,sass-loader 8.0.2

anyone knows how to fix this error?有谁知道如何解决这个错误? or has other approaches on prepending imports to each .scss file?或者有其他方法可以预先导入每个 .scss 文件?

thanks谢谢

Who ever stumble across this question,谁曾偶然发现这个问题,

I solved it by changing the .scss file name to something unique.我通过将 .scss 文件名更改为独特的名称来解决它。

before it was "base", and I had a base.js somewhere inside /node_modules/ and the import resolved it instead of my desired .scss file.在它成为“base”之前,我在 /node_modules/ 中的某个地方有一个 base.js 并且导入解决了它而不是我想要的 .scss 文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM