我有一个来自 @typescript-eslint 插件的 eslint 错误。
没想到。指定不同的 type.eslint(@typescript-eslint/no-explicit-any)
这是无隐含任何规则。仅在一个文件中,我想通过在文件顶部添加注释来禁用该规则。
如果我只是尝试标准的 eslint 禁用,编译器会抱怨:
/* eslint-disable no-explicit-any */
Run Code Online (Sandbox Code Playgroud)
未找到规则“no-explicit-any”的定义。eslint(no-explicit-any)
我试图找到有关 TS 插件的内联规则的文档,但运气不佳。我也尝试过这样的各种组合:
/* typescript-eslint-disable no-implicit-any */
/* typescript-eslint: disable no-implicit-any */
/* typescript-eslint: disable noImplicitAny */
/* typescript-eslint-disable @typescript-eslint/no-implicit-any */
Run Code Online (Sandbox Code Playgroud)
没有 eslint 投诉,但错误不会消失。
如何禁用 typescript-eslint 规则?
我可以使用Array()一个具有固定数量的未定义条目的数组.例如
Array(2); // [empty × 2]
Run Code Online (Sandbox Code Playgroud)
但是,如果我去使用map方法,比如说,在我的新数组上,条目仍未定义:
Array(2).map( () => "foo"); // [empty × 2]
Run Code Online (Sandbox Code Playgroud)
如果我复制数组,那么map确实有效:
[...Array(2)].map( () => "foo"); // ["foo", "foo"]
Run Code Online (Sandbox Code Playgroud)
为什么我需要副本才能使用该阵列?
我无法理解为什么我无法从HtmlCollection中获取元素.这个代码示例:
var col = (document.getElementsByClassName("jcrop-holder"));
console.log(col);
Run Code Online (Sandbox Code Playgroud)
在控制台上生成此输出:
我正在尝试获取dic.jcrop-holder对象,但我无法从我的变量col获取它.这些都不起作用:
console.log(col[0]); // undefined
console.log(col.item(0)); // null
// check length of collection
console.log(col.length); // 0
Run Code Online (Sandbox Code Playgroud)
因此,如果长度为0,为什么控制台显示长度为1,以及内部的对象?当我打开节点时,它包含子节点.这是怎么回事?
这是一些扩展节点.我没有扩展div.jcrop.holder,因为它太长了.这是儿童元素:
我见过有些人npm t在运行测试时使用该命令。这个命令与运行有什么不同吗npm run test?
我遇到了打字稿和节点的问题,偶然发现了一个修复程序(我得到了一个TS抱怨'过程'没有定义,如在Node中的process.env).我所要做的只是在我的文件顶部粘贴一行:
/// <reference types="node" />
Run Code Online (Sandbox Code Playgroud)
我不懂语法.打字稿编译器是否以某种方式阅读评论?这是如何运作的?
在 JavaScript 中使用String()和有什么区别new String()?
console.log(String('word')); // word
console.log(new String('word')); // word
Run Code Online (Sandbox Code Playgroud) 我正在浏览数组上的MDN文档,当我们想要测试一个对象是否是我们使用的数组时isArray().但是,它的使用与大多数其他方法非常不同.使用常规语法时会弹出一个错误:
console.log([1,2,3].isArray()); // TypeError: [1, 2, 3].isArray is not a function
Run Code Online (Sandbox Code Playgroud)
虽然这确实有效:
console.log(Array.isArray([1,2,3]))
Run Code Online (Sandbox Code Playgroud)
我不明白为什么isArray()(以及其他一些方法)依赖于某些全局对象而不是仅通过所讨论的对象可访问.为什么有些方法需要全局数组对象?
我通过 css 表将样式应用于按钮。当应用程序启动时,按钮只有一个 .Button 类。单击按钮时,.clicked会添加一个额外的类,然后修改按钮的样式。按钮文本也从“按钮”更改为“单击按钮”。
我希望 RTL 查找这些样式更改(运行应用程序时很明显)。
按钮.css:
.Button {
background-color: blueviolet;
}
.clicked {
transform: scale(8.0);
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
测试代码:
import React from 'react';
import { cleanup, render, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import App from './App';
describe('clicking on the button', () => {
afterAll(cleanup);
let upDatedButton: HTMLElement;
beforeAll(async () => {
const { getByText, findByText } = render(<App />);
const button = getByText('button');
fireEvent(
button,
new MouseEvent('click', {
bubbles: true,
cancelable: true
})
) …Run Code Online (Sandbox Code Playgroud) 我有一个已禁用的测试套件/文件。它有一个关联的快照文件。对于我的特殊情况,我不想删除或更新快照文件(长话短说:它在其他地方使用)。
因此,对于过时的快照,Jest 只注销一个警告,而不是一个失败。然而,Jest 然后以代码 1 退出,我的构建失败了。尽管实际上没有测试失败,但还是会发生这种情况。
我可以调整配置以忽略过时的快照吗?或者有没有其他方法让 Jest 在只发出警告后退出代码 0?