我的scss文件中有以下几行:
$google-fonts-url: 'https://fonts.googleapis.com/css?family=Source+Sans+Pro|Lato:300';
@import url($google-fonts-url);我输出的第一行css:
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro|Lato:300);@charset "UTF-8";
:root {
--blue: #007bff;那是完全错误的。我不知道为什么,但一旦我删除我的导入语句,它就正确地工作了:
@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
摘录-文本-webpack-插件:^4.0.0-beta.0
webpack:^4.28.3
webpack-cli:^3.2.0
css-加载程序:^2.1.0
文件加载程序:^3.0.1
有什么建议吗?我搜索了好几个小时:
Thx预先
编辑:为了澄清,我的字体导入不是我的主要-scss文件的第一行.很晚了
发布于 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。
https://stackoverflow.com/questions/54023438
复制相似问题