有没有一个简单的 Webpack 配置,它使用 Sass 并且不会搞乱其他项目功能? 1.总结问题2.我的尝试

问题描述

问题:是否有一个使用 Sass 的简单 Webpack 配置,能够在 .scss 文件中使用 URL 链接,其他 CSS 加载器之间没有问题,并且项目仍然维护文件哈希?


1.总结问题

我想要一个非常简单的 Webpack 设置,它使用 Sass 并且能够接受各种文件类型,例如 .mp4 文件。我曾尝试删除添加各种 CSS 加载器以相互配合使用,但我必须做出一些妥协,因为一个 CSS 加载器将允许 CSS URL 功能,但不允许捆绑文件中的文件哈希。

以下是我遇到此问题的当前项目:barista-competition-challenge 。我在这个项目中使用的当前加载器是:

我还在项目中使用了以下插件

  • CleanWepbackPlugin
  • MiniCssExtractPlugin
  • HtmlWebpack 插件
  • webpack.ProvidePlugin

我曾经/现在遇到以下问题:

目前,该项目在技术上可行,我能够让视频显示在“dist/videos”文件夹中,并且能够在我的 .scss 文件中使用 URL() 属性。但是,这是有代价的,因为我必须将所有 .scss 资产文件导入到项目的 src 中,并且我无法在我的捆绑文件中使用哈希值,因为这特别会扰乱对我的背景视频的 URL() 调用我的最终捆绑 .css 文件和对我的图像的引用。

2.我的尝试

最初,我尝试了 Chitru Shrestha 在 Medium 上的这个 Basic Webpack configuration 博客中的 Wepback 设置。

最初,我无法在 .scss 文件中使用 URL() 属性功能,并且我在使用 mini-css-extract-plugin 时遇到了问题。这让我陷入了一个有太多链接的兔子洞,无法在下面列出 mini-css-extract-plugin 的问题。我还尝试了太多指向 StackOverflow 上各种博客和帖子的链接,这些链接涉及各种 Wepback 配置设置,这些设置对于我所需要的来说太复杂了。我还尝试了我目前拥有的装载机的每一种组合。我尝试在这些不同的加载器中注释和注释以试图获得我想要的东西。

我正在寻找的是一个简单的 Wepback 配置,其中:

  • 我可以在我的 .scss 文件中使用 URL() 属性功能
  • 我的 .scss 文件(以及 dist 文件夹中的所有文件)使用文件名中的 contenthash 正确构建
  • 我可以在我的 .scss 文件中引用我的资产(图像和视频),而无需手动将它们导入到我的项目的 src 中
  • 我能够使用各种文件类型,包括 .mp4 文件类型
  • 一旦文件名具有新的内容哈希值,我在 dist 文件夹中构建的 .css 文件中的 URL() 属性引用在构建过程中不会被弄乱

预先感谢您阅读我的问题,我期待查看答案!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)