javascript - 使用 webpack 将 SASS 编译成多个 CSS 文件
问题描述
考虑一个由 ./blocks/index.js 作为主要入口点的具有以下结构的 webpack 4 构建项目:
├── assets
│ ├── css
│ │ ├── editor.blocks.css
│ │ ├── style.blocks.css
│ ├── js
│ │ ├── editor.blocks.js
├── blocks
│ ├── block1
│ │ ├── editor.scss
│ │ ├── style.scss
│ │ ├── index.js
│ ├── block2
│ │ ├── editor.scss
│ │ ├── style.scss
│ │ ├── index.js
│ ├── block3
│ │ ├── editor.scss
│ │ ├── style.scss
│ │ ├── index.js
│ ├── index.js
SASS 文件被导入到index.js
每个块文件夹内的文件中。
当 webpack 运行时,它应该:
style.scss
将所有文件连接并编译为./assets/css/style.blocks.css
.editor.scss
将所有文件连接并编译为./assets/css/editor.blocks.css
.
目前,它有点工作,但不是将所有style.scss
文件连接并编译到./assets/css/style.blocks.css
其中,所有editor.scss
文件./assets/css/editor.blocks.css
似乎只从 LAST 块文件夹(`./blocks/block3')中获取 SASS。
这表明style.blocks.css
并且editor.blocks.css
不断被覆盖,这是不正确的。我认为编写最后两个 CSS 文件的加载器可能需要成为插件?我已经尝试过 MiniCssExtractPlugin,但无法基于多个 SASS 文件输出两个 CSS 文件。
这是完整的仓库:https ://github.com/dgwyer/multiple-webpack-css-files
解决方案
使用 MiniCssExtractPlugin webpack 插件设法让这个在 webpack 4 中工作,在 webpack 5 中显然不需要一个小的解决方法。
推荐阅读
- javascript - 如何从脚本源获取查询参数?
- error-code - GCP IoT 发送新设备配置时出错:“错误 413(请求实体太大)!!”
- r - 通过常规 POSIXct 系列插入第三列中的数据?
- excel - 粘贴转置值的下标超出范围
- php - 输出带有标题字段的JSON?(作为数据集的 ID)
- chromium-embedded - 谷歌真的会阻止来自嵌入式框架(例如 CEF)的身份验证吗?
- html - 如何通过beautifulsoup过滤带有标准的url链接?可能吗?确实是的
- java - 数据流更新失败:无法解析实验use_shuffle_service_address对应的值
- json - 如何订购 json 文件列表?
- cordova - 如何在 cordova-electron 应用程序中包含或捆绑 node_modules?