javascript - 删除未使用 Assets 的繁重任务、脚本或应用程序?

标签 javascript performance automation gruntjs

有人知道删除未使用 Assets 的繁重任务、脚本或应用程序吗?

我正在开发一个已经经过多轮修改的项目,我希望删除未使用的 Assets 。

一切都会有帮助!

最美好的祝愿

最佳答案

搜索 npm 和 grunt 官方网站没有找到任何结果。我假设未使用的资源是指未在任何 HTML 文件中链接的文件?例如,如果您有 image.jpgimage2.jpg,并且 HTML 中仅引用 image2.jpg,则 image.jpg 未使用?

编写你自己的Chris;我可以给你一个起点,但如果你认为这对构建链是一个有用的补充,你可以随时推出自己的,以便其他人也受益。这是记录项目中与 Gruntfile 相关的所有文件的起点。

module.exports = function(grunt) {
    grunt.registerMultiTask('unusedassets', function() {
        grunt.file.expand({
            filter: 'isFile'
        }, ['**/*']).forEach(function(file) {
            grunt.log.writeln(file);
        });
    }
};

从那里,按您感兴趣的类型(图像?css?js?)过滤文件名,然后检查 HTML 源中的文件名。然后,将未使用资源的路径记录到控制台(提供自动删除它们的选项,但默认情况下我不会启用此功能,因为它可能会引发误报)。

注意;您可能想忽略node_modules

您可以find all you need to get started on the wiki .

关于javascript - 删除未使用 Assets 的繁重任务、脚本或应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423879/

相关文章:

javascript - 可重复使用的属性验证与 knockout

sql - pl/sql forall insert 和plain SQL insert 的查询性能差异

javascript - forEach inside Ticker 使 Canvas 变慢

java - 这两个循环之间有什么区别吗?

PYTHON - Tkinter 和 Selenium 文件转换自动化 : send_keys function returns no attribute & challenge with finding elements

javascript - 用户关闭浏览器时处理未保存的表单数据

javascript - react 和 typescript 上的传播运算符错误

javascript - ExpressJS 到 ejs,出现 HTTP 500 错误

automation - 如果机器人框架中第一个测试用例失败,如何跳过测试用例执行

javascript - GatsbyJS永久违反:尝试推断GraphQL类型时遇到错误