- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试为 postcss-loader
配置 cssnano
插件,它会缩小 CSS,非常相似,如 here 中所述。 .
Webpack 配置:
...
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: () => [
cssnano({
preset: ['default', {
discardComments: {
removeAll: true,
},
// how to find index of all available options?
}]
})
]
}
},
'sass-loader'
]
}
]
},
...
Here列出了 cssnano 文档中的所有优化
和here是如何在 default
预设之上覆盖单个优化 discardComments
的示例。
是否可以单独覆盖每个优化配置,例如使用 discardComments
?这对于为开发和生产创建单独的配置非常方便。
另外,在 this repo是一次不成功的尝试,只有最少的示例和样板。
编辑:cssnano 开发者告诉我们不可能单独配置每个优化,相反,可以单独使用每个优化插件 source
最佳答案
将 cssnano
与 postcss-loader
和 mini-css-extract-plugin
一起使用并不是 Webpack 中缩小的最佳选择,因为该设置会缩小单个源文件而不是整个发出的 CSS 文件(它有多余的空格)。最好的选择是使用 optimize-css-assets-webpack-plugin .
安装它:
npm install --save-dev optimize-css-assets-webpack-plugin
并使用将其添加到您的 Webpack 配置中:
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
...
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: [] // Don't add cssnano here. Remove the loader completely if you have no plugins.
}
},
'sass-loader'
]
}
]
},
optimization: {
minimizer: [
new OptimizeCSSAssetsPlugin({
// cssnano configuration
cssProcessorPluginOptions: {
preset: ['default', {
discardComments: {
removeAll: true
}
}],
},
})
]
}
...
cssnano 选项索引:https://cssnano.co/optimisations/
但是,如果您使用 style-loader
而不是 mini-css-extract-plugin
,则应将 postcss-loader
与 cssnano
一起使用,因为 optimize-css-assets-webpack-plugin
仅优化发出的 CSS 文件。
关于css - 如何配置 cssnano 进行 CSS 缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59148593/
我有一个使用 CSS 模块的 React 网络应用程序。我正在使用 Webpack 构建应用程序。 来自 webpack.config.js 的相关部分: { test: /\.css$/
我对 Node JS 并不完全熟悉,但我看到 cssnano 是一个用于缩小 CSS 的 JS 工具,它以比弃用的 YUI 压缩器更高级的方式完成此任务。唯一的问题是,我不知道如何像使用 YUI 压缩
我想在我的 CSS 代码上应用 cssnano 和 autoprefixer。我在网上看到说用cssnano就可以了,cssnano会自动应用autoprefixer。当我使用这段代码时: var g
我收到这个错误: this.processing = new Promise(function (resolve, reject) { ReferenceError: Promise is
我很好奇 cssnano 对媒体查询的处理是否正常。在我的 css 文件中,我有。 @media all and ( min-width: 600px) {} 通过 cssnano 运行我的 css
我有我使用 optimize-css-assets-webpack-plugin 的 Webpack 设置与 cssnano作为 CSS 处理器。 在那里,我不想使用 colormin 优化。 优化:
我正在尝试为 postcss-loader 配置 cssnano 插件,它会缩小 CSS,非常相似,如 here 中所述。 . Webpack 配置: ... module: { rule
我正在尝试添加 cssnano 优化规则,但使用 vue-cli,它似乎不起作用。我在 vue.config.js 中添加了以下脚本: module.exports = { css: {
我正在尝试添加 cssnano 优化规则,但使用 vue-cli,它似乎不起作用。我在 vue.config.js 中添加了以下脚本: module.exports = { css: {
我是一名优秀的程序员,十分优秀!