首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack SCSS @charset与“导入问题”

Webpack SCSS @charset与“导入问题”
EN

Stack Overflow用户
提问于 2019-01-03 13:39:14
回答 1查看 1.5K关注 0票数 3

我的scss文件中有以下几行:

代码语言:javascript
复制
$google-fonts-url: 'https://fonts.googleapis.com/css?family=Source+Sans+Pro|Lato:300';
@import url($google-fonts-url);

我输出的第一行css:

代码语言:javascript
复制
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro|Lato:300);@charset "UTF-8";
:root {
      --blue: #007bff;

那是完全错误的。我不知道为什么,但一旦我删除我的导入语句,它就正确地工作了:

代码语言:javascript
复制
@charset "UTF-8";
:root {
  --blue: #007bff;

我的webpack配置:

代码语言:javascript
复制
module.exports = {
    entry: { 
        app: './src/app.scss'
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: '[name].css'
    },
    module: {
        rules: [
            {
                test: /\.scss$/,
                use: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: [ 'css-loader', 'sass-loader']
                }) 

                //['style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
            },
            {
                test: /\.(woff(2)?|ttf|eot|svg|gif|jpg|jpeg|png)(\?v=\d+\.\d+\.\d+)?$/,
                use: [{
                    loader: 'file-loader',
                    options: {
                        name: '[name].[ext]',
                        outputPath: 'fonts/'
                    }
                }]
            }
        ]
    },
    optimization: {
        splitChunks: {
            cacheGroups: {
                styles: {
                    name: 'styles',
                    test: /\.css$/,
                    chunks: 'all',
                    enforce: true
                }
            }
        }
    },
    plugins: [
        new CleanWebpackPlugin('dist'),
        new ExtractTextPlugin({
            filename: '[name].css'
        }),
        new CssoWebpackPlugin({
            pluginOutputPostfix: 'min'
        })
    ]
}

当我删除Csso&CleanWebpack时,它仍然是相同的行为。怎么了?我很困惑。这是错误的顺序,但我找不到有什么问题,我的设置。

版本:

节点: v8.9.4

摘录-文本-webpack-插件:^4.0.0-beta.0

webpack:^4.28.3

webpack-cli:^3.2.0

css-加载程序:^2.1.0

文件加载程序:^3.0.1

有什么建议吗?我搜索了好几个小时:

Thx预先

编辑:为了澄清,我的字体导入不是我的主要-scss文件的第一行.很晚了

EN

回答 1

Stack Overflow用户

发布于 2020-07-02 21:07:24

我也有同样的问题,这不是Sass,而是import选项。

import 启用/禁用@import at-规则处理。控件@导入解析。@import中的绝对urls将在运行时代码中移动。

'css-loader'中的{ loader: "css-loader", options: { import: false } }替换webpack.config将按照正确的顺序输出css。

我禁用了这个选项,因为sass加载器已经在处理我的所有导入,这些导入没有指向url。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54023438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档