gpt4 book ai didi

Webpack SCSS @charset 和@import 问题

转载 作者:行者123 更新时间:2023-12-05 05:13:02 26 4
gpt4 key购买 nike

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

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

我的 output-css 中的第一行:

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

这是完全错误的。我不知道为什么,但只要我删除我的 Import-statement,它就会正常工作:

@charset "UTF-8";
:root {
--blue: #007bff;

我的 webpack 配置:

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

extract-text-webpack-plugin: ^4.0.0-beta.0

网络包:^4.28.3

webpack-cli: ^3.2.0

css-loader: ^2.1.0

文件加载器:^3.0.1

有什么建议吗?我在谷歌上搜索了几个小时 :(

提前致谢

编辑:澄清一下,我的字体导入不是我的 main-scss 文件中的第一行。来的很晚

最佳答案

我遇到了同样的问题,不是 Sass,而是 css-loader's import选项。

import
Enables/Disables @import at-rules handling. Control @import resolving. Absolute urls in @import will be moved in runtime code.

在 webpack.config 中用 { loader: "css-loader", options: { import: false } } 替换 'css-loader' 将输出你的 css - 以正确的顺序规则。

我禁用了这个选项,因为 sass-loader 已经在处理我所有不指向 url 的导入。

关于Webpack SCSS @charset 和@import 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54023438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com