css - 使用 webpack 合并 CSS 和 Less
问题描述
如何通过 webpack 合并 CSS 和 LESS 以及我需要哪些额外的节点模块?
我是否需要两个不同的入口文件,一个用于 LESS,一个用于 CSS?如果是这样,最好的方法是什么?
在 .less 文件中导入 .css 文件时会出现问题。
CSS
test: /\.css$/,
exclude: [/node_modules/, /public/],
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {}
},
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
plugins: [
autoprefixer({
browsers: ['>2%', 'last 4 versions', 'Firefox ESR', 'not ie < 9']
}),
postcssPresetEnv(),
PostcssClean({
sourceMap: true,
level: 1
})
]
}
}
]
较少的
test: /\.less$/,
exclude: [/node_modules/, /public/],
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
plugins: [
autoprefixer({
browsers: ['>2%', 'last 4 versions', 'Firefox ESR', 'not ie < 9']
}),
postcssPresetEnv(),
PostcssClean({
sourceMap: true,
level: 1
})
]
}
},
{
loader: 'less-loader',
options: {
sourceMap: true
}
}
]
编辑
解决方案是定义两个不同的入口点,然后分别处理 CSS 和 LESS。
使用 SASS 加载程序,@Pete 的(查看评论)解决方案似乎是最好的。简单地让 CSS 和 SASS 由同一个 loader 处理。
解决方案
推荐阅读
- ionic4 - 如何在 Ionic 4 上的弹出框关闭时禁用动画
- rxjs - rxjs:从 Observables 集中获取最后一个值
- docker - 我可以在 Microsoft IoT Edge 中运行任何 docker 容器吗?
- json - JoinJS - fromJSON 方法错误:“dia.ElementView:需要标记”
- android - 后按时如何将对象恢复为以前的值?
- typo3 - TYPO3 v9.5.8 - 404 errorHandling 仅适用于二级 - 如何解决?
- java - java.lang.ClassNotFoundException: org.postgresql.Driver 问题
- django - 使用 transaction.atomic() 不适用于 Azure SQL 数据库
- apache-spark - 相同的 Apache Spark 查询,本地/EMR Spark 与 Databricks 上的不同执行计划
- angular - 打字稿:在类内调用静态方法(Angular HttpInterceptor)