汇总不允许 SASS 个变量

Rollup not allowing SASS variables

我正在尝试在我的 Rollup 配置中设置一个 SASS 结构,它允许我在整个应用程序中使用变量。我想使用 postcss + autoprefixer。我在我的插件数组中设置了以下内容:

postcss({
    modules: false,
    extensions: ['.css', '.sass', '.scss'],
    output: false,
    extract: true,
    plugins: [autoprefixer],
    use: [
      [
        'sass', {
          includePaths: [path.join(__dirname, 'scss')]
        }
      ]
    ]
})

效果很好,我可以在我的组件中导入我的 SCSS 文件,即。 import "./App.scss";.

我面临的问题是我在 App.scss 中声明了一些全局变量,我想在子组件中使用这些变量。

我该怎么做?我以为这个插件会解决所有的 SCSS,concat 然后 运行 postcss + SASS 反对它,但似乎不是这样。

在这里添加我的 github 评论: https://github.com/sveltejs/language-tools/issues/232#issuecomment-801549706

这对我有用:

svelte.config.js


module.exports = {
  preprocess: autoPreprocess({
    scss: {  prependData: `@import 'src/styles/main.scss';`},
    postcss: { plugins: [require('autoprefixer')] }
  }),
 #};

rollup.config.js

svelte({
            dev: !production, // run-time checks      
            // Extract component CSS — better performance
            css: css => css.write(`bundle.css`),
            hot: isNollup,
            preprocess: [
                autoPreprocess({
                    scss: { prependData: `@import 'src/styles/main.scss';`},
                    postcss: { plugins: [postcssImport()] },
                    defaults: { style: 'postcss' }
                })
            ]
        }),

App.svelte

<style global lang="scss">
</style>

如果您希望终端中的错误在 rollup.config.js

上消失
svelte({
            dev: !production, // run-time checks      
            // Extract component CSS — better performance
            css: css => css.write(`bundle.css`),
            hot: isNollup,
            preprocess: [
                autoPreprocess({
                    scss: { prependData: `@import 'src/styles/main.scss';`},
                    postcss: { plugins: [postcssImport()] },
                    defaults: { style: 'postcss' }
                })
            ],
            onwarn: (warning, handler) => {
                const { code, frame } = warning;
                if (code === "css-unused-selector")
                    return;
        
                handler(warning);
            }
        }),

最酷的是我的 main.scss 文件可以导入部分。

@import 'resets';
@import 'border_box';
@import 'colors';
@import 'fonts';
@import 'forms';

此处的文档:https://github.com/sveltejs/svelte-preprocess/blob/main/docs/getting-started.md