我正在使用像这样的sass loader与web pack:
module.exports = {
module: {
loaders: [
{
test: /\.scss$/,
loader: "style!css!sass"
}
]
}
};
但我看到样式应用于样式标签,那么生成的CSS文件在哪里?
我正在使用像这样的sass loader与web pack:
module.exports = {
module: {
loaders: [
{
test: /\.scss$/,
loader: "style!css!sass"
}
]
}
};
但我看到样式应用于样式标签,那么生成的CSS文件在哪里?
默认情况下,style-loader将已编译的CSS内联到您的捆绑包中,并将其添加到页面头部与输出文件(例如bundle.js
)一起。使用extract-text-webpack-plugin可以从捆绑包中移除编译后的CSS,并将其导出到单独的文件。
首先-将您的加载器包装在插件中:
loaders: [{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(
"style",
"css!sass")
}]
},
然后告诉插件生成的文件应该叫什么:
plugins: [
new ExtractTextPlugin("app.css")
]
通常情况下,将此文件包含在您的HTML中即可。
include file
,但如果我在production
模式下使用extractTextPlugin
,而在dev
模式下使用style-loader
,有没有办法在production
模式下自动添加<link href="extracted.css">
标签? - Pawełextract-text-webpack-plugin已经被弃用,你应该使用mini-css-extract-plugin。假设你的样式在css/app.scss
中,你的入口文件应该像往常一样导入它:
import 'css/app.scss';
添加插件:
plugins: [new MiniCssExtractPlugin()]
将插件添加到您的加载器链中:
{
test: /\.s[ac]ss$/i,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
}
app.css
文件被加载:<link href="app.css" rel="stylesheet">