mini-css-extract-plugin 中的源地图
source map's in mini-css-extract-plugin
我似乎无法获得与 mini-css-extract-plugin
一起使用的源映射。我让他们和 style-loader
.
一起工作
devtool: argv.mode === 'development' ? 'eval' : 'none',
[...]
test: /\.scss$|\.css$/i,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {sourceMap: argv.mode === 'development', hmr: argv.hot},
},
{
loader: 'css-loader',
options: {sourceMap: argv.mode === 'development', importLoaders: 1},
},
[...]
plugins: [
[...]
new MiniCssExtractPlugin({
filename: argv.mode === 'development' ? '[name].css' : '[contenthash].css',
chunkFilename: argv.mode === 'development' ? '[id].css' : '[contenthash].css',
}),
]
一些背景信息:
我一直使用 style-loader
来让热模块更换在开发模式下工作,并在生产模式下使用 mini-css-extract-plugin
。
现在 mini-css-extract-plugin
支持 hmr,这很棒,因为我不必再在开发中处理 FOUC。
但是没有源映射至少可以告诉我样式来自哪个文件,这很烦人。
在写这个问题时,我找到了一个可行的解决方案,最终确实有效。
我将 devtool
定义为 eval
,这是最便宜的选择。我不完全明白它是如何工作的,但它不是真正的源映射,而是将整个源包装在一个 eval 语句中,并告诉浏览器这是一个特定的文件,这对我来说很好,但这种策略显然不能使用 css 个文件。
我所做的是将 devtool 定义为 cheap-source-map
,这似乎是不依赖 eval 语句的最快选项。
我还认为我完全误解了加载程序的 sourceMap 选项。我只在生成显示原始源代码的完整源地图时才需要它们。 (虽然我还没有完全测试过)
我似乎无法获得与 mini-css-extract-plugin
一起使用的源映射。我让他们和 style-loader
.
devtool: argv.mode === 'development' ? 'eval' : 'none',
[...]
test: /\.scss$|\.css$/i,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {sourceMap: argv.mode === 'development', hmr: argv.hot},
},
{
loader: 'css-loader',
options: {sourceMap: argv.mode === 'development', importLoaders: 1},
},
[...]
plugins: [
[...]
new MiniCssExtractPlugin({
filename: argv.mode === 'development' ? '[name].css' : '[contenthash].css',
chunkFilename: argv.mode === 'development' ? '[id].css' : '[contenthash].css',
}),
]
一些背景信息:
我一直使用 style-loader
来让热模块更换在开发模式下工作,并在生产模式下使用 mini-css-extract-plugin
。
现在 mini-css-extract-plugin
支持 hmr,这很棒,因为我不必再在开发中处理 FOUC。
但是没有源映射至少可以告诉我样式来自哪个文件,这很烦人。
在写这个问题时,我找到了一个可行的解决方案,最终确实有效。
我将 devtool
定义为 eval
,这是最便宜的选择。我不完全明白它是如何工作的,但它不是真正的源映射,而是将整个源包装在一个 eval 语句中,并告诉浏览器这是一个特定的文件,这对我来说很好,但这种策略显然不能使用 css 个文件。
我所做的是将 devtool 定义为 cheap-source-map
,这似乎是不依赖 eval 语句的最快选项。
我还认为我完全误解了加载程序的 sourceMap 选项。我只在生成显示原始源代码的完整源地图时才需要它们。 (虽然我还没有完全测试过)