根据覆盖率报告删除未使用的 JavaScript 代码

2024-01-01

有一个很大的 javascript 库(约 40 000 行代码)和一个使用少于50%图书馆的代码。

有一个测试利用库中的所有所需功能并可以生成覆盖率报告。

如何以编程方式删除依赖于测试的每行未使用的代码?

Note:覆盖率报告包含已执行的行的索引,但它不准确:右大括号被忽略,具有方法名称的行被标记为已执行,即使方法主体未执行等。


您可以尝试使用:

npm install -g fixmyjs
fixmyjs <filename or folder>

这是修复myjs项目 https://github.com/jshint/fixmyjs

它是一个很棒的清理工具,但它似乎与某些版本的 ecmascript 缺乏兼容性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据覆盖率报告删除未使用的 JavaScript 代码 的相关文章

  • 在 ajax 完成之前阻止提交

    我正在使用 jQuery 并且我希望在所有 ajax 调用完成之前表单提交不会起作用 我想到的一种方法是存储一个布尔值 该值指示是否有 ajax 请求正在进行 在每一个结束时它都会被设置为 false 我不确定这是否是最好的方法 所以我将不
  • 如何在 Chrome 中创建 TouchEvent?

    The W3C规范 http www w3 org TR 2011 WD touch events 20110505 idl def TouchEvent宣称initTouchEvent如下 void initTouchEvent in D
  • HTMLImageElement 作为 React Child 无效

    我正在尝试异步加载图像 并且仅在加载图像后才将其显示在 React 应用程序中 componentDidMount const img new Image img onload gt this setState originalImage
  • jQuery 中的 Javascript .files[0] 属性

    jQuery 中是否有与此语句等效的语句 var value document getElementById id files 0 使用附加 files 0 的标准 jQuery 选择器似乎不起作用 并且我找不到与 files 等效的 jQ
  • 如何使用键盘和鼠标控制相机 - Three.js

    我在 WEB GL 中有一个带有 Three js 的 3D 环境 并且我曾经使用 Orbitcontrols js http codepen io nireno pen cAoGI http codepen io nireno pen c
  • 限制文本区域中每行的字符数

    我整个周末都在寻找解决这个难题的方法 但尚未找到一个可以正常工作的解决方案 我想要实现的是限制文本区域中每行的字符数 不是相同地限制它们 而是我选择的每行不同的字符数 例如 我只想在我的文本区域中包含 4 行 第 1 2 和 3 行将限制为
  • 将 Sweet Alert 弹出窗口添加到 React 组件中的按钮

    我为 Bootstrap 和 React 找到了这个完美的 Sweet Alert 模块 我在 Meteor 应用程序中使用它 http djorg83 github io react bootstrap sweetalert http d
  • 禁用 JavaScript 中的右键单击

    当我尝试禁用右键单击时 它不起作用 我尝试使用下面的代码 document onclick function e console log e button if e button 2 e preventDefault return fals
  • 响应式网格布局框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用模态表单 ajax 超出 HTMLFormElement.toString 的最大调用堆栈大小

    我想使用模态窗口中的 ajax 请求提交表单 单击此链接可打开该模式 a class btn btn primary i class fa fa edit i Write a review a 模态窗口 div class modal fa
  • Ember.JS - 如何在同一页面中使用多个模型、控制器和视图?

    我主要了解 Ember JS 的基础知识 大多数示例实际上只处理单个控制器和模型以在页面上显示某些内容 我真的很想用 Ember 构建一个完整的 Web 应用程序 所以有人能告诉我如何组织和连接多个控制器 模型和视图到一个页面中吗 例如 如
  • 使react-leaflet能够离线使用

    我一直在使用反应传单 https github com PaulLeCam react leaflet图书馆 到目前为止运作良好 现在我希望网站预加载尽可能多的图块 以便网络应用程序 也是 PWA 可以在没有互联网的情况下使用 我找到了一些
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • 是否可以使用打字稿映射类型来创建接口的非函数属性类型?

    所以我正在研究 Typescript 的映射类型 是否可以创建一个接口来包装另一种类型 从而从原始类型中删除函数 例如 interface Person name string age number speak void type Data
  • window.showModalDialog 的等效跨浏览器解决方案是什么?

    window showModalDialog 的等效跨浏览器解决方案有哪些 showModalDialog 在 IE 和 FF 3 中引入 我个人认为没有 但是有很多 UI 工具包提供了这样的功能 例如jQuery UI http jque
  • Jquery:选择菜单以显示和隐藏某些div元素

    我正在创建一个选择菜单 根据所选选项显示和隐藏某些 div 像这样的东西
  • ES6 模板文字的延迟执行

    我正在玩新的ES6 模板文字 http tc39wiki calculist org es6 template strings 我首先想到的是String format对于 JavaScript 所以我开始实现一个原型 String pro
  • 在javascript中动态生成行?

    我是 javascript 新手 我想在按下 Tab 时动态生成行 并希望获取在动态生成的行中输入的值 以便我可以在 servlet 代码中使用这些值 这是我的html
  • 如何调试 Gulp 任务?

    如何调试我的中定义的 gulp 任务gulpfile js使用诸如 Google Chrome 调试器之类的调试器逐行单步执行任务的代码 对于 Node js 6 3 版本 您可以使用 inspect flag https nodejs o

随机推荐

  • ECMAScript 6 与 ECMAScript 5 相比什么是块作用域函数 [重复]

    这个问题在这里已经有答案了 ECMAScript 6 中的块作用域函数是什么 谁能帮助我理解块作用域函数与 ECMAScript 5 相比的主要区别 The new let and constES2015 又名 ES6 与尊者相比有四个主要
  • 在扩展类本身内部使用扩展方法

    假设我有一个界面 如下所示 public interface ILoggable void Log Func
  • 从字符串中删除所有出现的 char

    我可以用这个 String str TextX Xto modifyX str str replace X that does not work because there is no such character 有没有办法删除所有出现的
  • 未为 DI/IoC 设置 StructureMap 和对象

    我有一种情况 我创建了一个工厂方法来创建一个对象 但是 该对象具有需要在创建对象之前执行的样板代码 修复这部分设计超出了这个问题的范围 此外 当创建对象时 屏幕上的状态显示也会更新 这要求在创建此对象之前先实例化此状态显示并使其可见 并且应
  • R自参考

    在 R 中 我发现自己经常做这样的事情 adataframe adataframe col something lt adataframe adataframe col something 1 这种方式有点漫长而且乏味 有什么办法适合我吗引
  • 在 tizen studio 中使用证书配置文件签署应用程序包

    如何在 Tizen studio 中使用证书配置文件签署应用程序包 This https developer tizen org development tizen studio web tools managing projects ce
  • 支持 ASP.NET MVC 2.0 的嵌套模型和类验证

    我正在尝试使用 System ComponentModel DataAnnotations 属性来验证包含具有验证规则的其他对象的模型 希望默认的 MVC 实现就足够了 var obj js Deserialize json objectI
  • “简单来说”SOA 是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 在group_by操作之后,dplyr如何为每个组生成数据帧?

    dplyr 包在流式数据处理方面的流畅性让我感到非常震惊 最近我急于解决一个问题 为每个组ID生成一个新的数据帧 并将这些小数据帧组合成最终的更大的数据帧 一个玩具示例 input data frame gt group by gid gt
  • 如何重构多个相似的 Linq-To-Sql 查询?

    假设我有以下两个要重构的 Linq To SQL 查询 var someValue1 0 var someValue2 0 var query1 db TableAs Where a gt a TableBs Count gt someVa
  • 使用 with() 与调用向量相比有哪些优点?

    我很好奇使用是否有任何优点with 而不是调用矢量名称 除了使用更少的击键之外 例如 是with d x1 总是等价于d x1 where d is structure list x1 c 1 96300839219158 1 779947
  • 有人知道如何在 Android 中使用 PagerTitleStrip

    我决定使用一个ViewPager在我的应用程序中 一切正常 我知道我想使用PagerTitleStrip in my ViewPager 但我没有找到任何有关如何做到这一点的信息 我在这门课上发现的唯一一页 原文如此 是http devel
  • 重新排列列表中的项目,使得没有两个相邻项目是相同的[重复]

    这个问题在这里已经有答案了 我们怎样才能最有效地做到这一点 给定一个包含重复项目的列表 任务是重新排列列表中的项目 以便没有两个相邻项目是相同的 Input 1 1 1 2 3 Output 1 2 1 3 1 Input 1 1 1 2
  • Seaborn tsplot 不能很好地在 x 轴上显示日期时间

    下面我有以下脚本 它创建了一个简单的时间序列图 matplotlib inline import datetime import pandas as pd import seaborn as sns import matplotlib py
  • 如何从 Pharo 中的调试器复制堆栈跟踪?

    如何从 Pharo 中的调试器复制堆栈跟踪 我知道图像附近有 Debug log 文件 但我太懒了 无法从 Pharo 导航到文件系统 找到文件夹 并浏览一个巨大的文本文件 如果前面有堆栈跟踪 我的 我知道一个方法 但不是最好的 当您在调试
  • 编译器可以优化对常量参数的引用到常量值吗?

    考虑以下功能 void func const char input do something 显然 参数为常量值是有意义的 而不是 关于 char 类型大小的常量引用 现在编译器可以将其优化为常量 值 以便它与以下相同 void func
  • 在 C++ 中向 Float/Double 类型添加 0

    我听说像 0 1 0 2 这样的浮点运算可能会由于内部使用二进制浮点而产生像 0 30000000000000004 这样的舍入误差 但是 如果我在 C 中向任何浮点数添加 0 是否能保证产生相同的值而没有任何舍入误差 我不知道浮点运算是如
  • 轻量级、便携式 C++ 光纤,MIT 许可证

    我想获得一个具有 MIT 许可证 或更宽松 的轻量级 便携式光纤库 Boost Coroutine 不符合资格 不是轻量级 Portable Coroutine Library 和 Kent C CSP 均为 GPL 也不符合资格 编辑 你
  • tkinter 使用主窗口调整框架和内容的大小

    我正在尝试弄清楚如何控制包含框架的窗口的大小调整 在代码中 我在顶部有三个按钮 它们应该保持在原来的位置 当我拖动窗口将其展开时 我希望框架及其包含的文本框随主窗口一起展开 我读过columnconfigure and rowconfigu
  • 根据覆盖率报告删除未使用的 JavaScript 代码

    有一个很大的 javascript 库 约 40 000 行代码 和一个使用少于50 图书馆的代码 有一个测试利用库中的所有所需功能并可以生成覆盖率报告 如何以编程方式删除依赖于测试的每行未使用的代码 Note 覆盖率报告包含已执行的行的索