首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mini-css-extract-plugin中的源图

在mini-css-extract-plugin中的源图
EN

Stack Overflow用户
提问于 2019-05-20 19:07:17
回答 1查看 4.2K关注 0票数 8

我似乎不能让源代码映射与mini-css-extract-plugin一起工作。我让他们和style-loader一起工作。

代码语言:javascript
复制
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了。

但是,没有源图至少可以告诉我样式来自哪个文件,这是令人恼火的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-20 19:20:52

在写这个问题的时候,我找到了一个可能的解决方案,并最终成功了。

我将devtool定义为eval,这是最便宜的选项。我不完全明白它是如何工作的,但它不是一个真正的源码映射,而是它将整个源码封装在一个eval语句中,并告诉浏览器这是一个特定的文件,这对我来说没问题,但这种策略显然不适用于css文件。

我所做的是将devtool定义为cheap-source-map,这似乎是不依赖eval语句的最快选项。

我还认为我完全误解了装载器的sourceMap选项。我只需要他们时,生成一个完整的源代码地图,显示原始的源代码。(尽管我还没有完全测试过它)

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

https://stackoverflow.com/questions/56219709

复制
相关文章

相似问题

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