小编Mur*_*lem的帖子

如何使 ts-jest 使用导入中导入的 js 文件的导入/导出语法?

jest无法导入我的导入,这导致命令在文件的第一行npm run test失败。对于本示例来说,是本地文件,而不是节点模块。我可以更改为并更改导入,但这不是解决方案。SyntaxError: Unexpected token 'export'bar.tsfoo.jsfoo.jsfoo.tsbar.ts

我的src文件夹中的文件:

  • foo.js:
export const magicNumber = 42; 
Run Code Online (Sandbox Code Playgroud)
  • bar.ts:
import { magicNumber } from './foo.js';

export const secondMagicNumber = magicNumber / 2; 
Run Code Online (Sandbox Code Playgroud)
  • bar.test.ts:
import { secondMagicNumber } from './bar';
import assert from 'assert';

it('should work', function() {
    assert.strictEqual(secondMagicNumber, 21);
});
Run Code Online (Sandbox Code Playgroud)

文件夹中的文件:

  • jest.config.js:
export default {
  preset: 'ts-jest',
  testEnvironment: 'node',
};
Run Code Online (Sandbox Code Playgroud)
  • package.json:
{
  "name": "testing-with-jest",
  "version": "1.0.0",
  "description": "",
  "scripts": …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript jestjs ts-jest

7
推荐指数
1
解决办法
6910
查看次数

如何在 TypeScript 中将数组类型隐式转换为元组类型?

现在,args是元组类型的休息参数。如何使这个构造函数也接受数组,当转换为元组类型时,将导致在所述构造函数中指定的类型?

是否可以在没有对构造进行手动断言的情况下完成,例如:

const args = [3, 5];

let vector = new Vector(...args as [number, number]);
Run Code Online (Sandbox Code Playgroud)

或者

const args: [number, number] = [3, 5];

let vector = new Vector(...args);
Run Code Online (Sandbox Code Playgroud)
class Vector {
    x: number;
    y: number;

    constructor(...args: [] | [number] | [number, number]) {
        switch(args.length) {
            case 0:
                this.x = 0;
                this.y = 0;
                break;
            case 1:
                this.x = this.y = args[0];
                break;
            case 2:
                this.x = args[0];
                this.y = args[1];
                break;
        }
    }
}

const args = [3, …
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
1
解决办法
62
查看次数

标签 统计

typescript ×2

javascript ×1

jestjs ×1

node.js ×1

ts-jest ×1