vue-cli配置css的tree shaking,使用了purgecss-webpack-plugin这个插件,具体配置如下:
const PurgecssWebpackPlugin = require('purgecss-webpack-plugin')new PurgecssWebpackPlugin({ paths: glob.sync([ // 需要编译的文件夹路径 path.join(__dirname, './src/index.html'), path.join(__dirname, './**/*.vue'), path.join(__dirname, './src/**/*.js') ])}]
打包之后,会出现,输出的一些css文件是0KB,应该怎么办呢?
尝试过使用splitChunks分包,但是没有效果,能不能配置输出的时候就删除这些空的文件呢?
purgecss-webpack-plugin
插件的目的是删除未使用的 CSS,如果它删除了所有 CSS,那么输出文件可能变成 0KB。这通常是因为没有 CSS 规则被实际使用,或者 purgecss-webpack-plugin
配置过于严格。
要消除这些空文件,你可以在 webpack 配置中使用 MiniCssExtractPlugin
,该插件允许你控制提取的 CSS 文件的输出。你可以设置一个选项来忽略空文件。
下面是一个如何配置 MiniCssExtractPlugin
以忽略空文件的示例:
const MiniCssExtractPlugin = require('mini-css-extract-plugin');module.exports = { // ... 其他 webpack 配置 plugins: [ new MiniCssExtractPlugin({ filename: '[name].[contenthash].css', ignoreOrder: true, // 忽略 CSS 中的顺序问题 chunkFilename: '[id].[contenthash].css', onEmit: (assets, emission) => { // 遍历所有 CSS 文件 Object.keys(assets).forEach(asset => { if (asset.endsWith('.css') && assets[asset].source().length === 0) { // 如果文件是空的,则从输出中删除它 delete assets[asset]; } }); // 继续正常的发射过程 return emission; }, }), // ... 其他插件 ], // ... 其他 webpack 配置};
在这个配置中,onEmit
钩子函数在 webpack 发射阶段被调用,它允许你修改输出文件。在这个函数中,我们检查每个 CSS 文件,如果它是空的(即文件内容为 0 字节),我们就从输出中删除它。
请注意,这种方法可能不是最佳解决方案,因为它会阻止空文件被输出。更好的方法是检查为什么 purgecss-webpack-plugin
删除了所有 CSS,并调整其配置或确保至少有一些 CSS 被实际使用。
我正在尝试使用file writer写入文件,但值为空: 这是错误按摩: 我希望我说的很清楚,我已经尽力了。。请帮帮我。
我有如下所示的大型数据矩阵: 前两列是ID,总是整数,其余6列是每个ID的2对(X,Y,Z)坐标(浮点数)。 有人知道如何让fprintf在移除无关紧要的尾随零后只留一个空格吗?使用fprintf很好,因为我不需要任何循环,当你有几千个矩阵要写出来时,如果我必须在循环中做一些检查,我想这会很慢?
我有一个列的值需要删除。数据如下所示: 我只需要抓取字符串的第一部分,所需的输出是、等等。我的代码如下所示: 它返回的最后有空格,我如何修改查询,使它返回的值没有空格?
我正在编写文本输出文件,使用XSL读取XML文件。 在这里,我试图检查源XML中是否有特定的内容,如果可用,则将该内容写入文件。 目前,我正在使用java读取创建的空文件并显式删除它们。诚恳地感谢。
问题内容: 我正在尝试在我的PHP CLI应用程序上使用“实时”进度指示器。而不是输出为 我宁愿清除它,也只显示最新结果。system(“ command \ C CLS”)不起作用。也没有ob_flush(),flush()或我发现的其他任何东西。 我正在运行Windows 7 64位旗舰版,我注意到命令行输出是实时的,这是意外的。每个人都警告我说,不会…但是可以… 64位特权吗? 为帮助加油!
我正在努力解决hackerrank的一个特殊问题。 为了解决这个问题,我使用hashmap创建了一个字典,我想用这个人的名字搜索电话号码。如果有一个条目与该名称,打印与名称的号码,否则打印未找到。 我得到了所需的输出,但有一个额外的空行。例如,当我搜索名称'J'和'K'时,字典中只有J,我的输出是: