8

我找到了这个文件:

https://www.npmjs.com/package/@types/matter-js

我执行这一行:

npm install --save @types/matter-js

在根 ts 文件中,我收到错误消息:

'Matter' 指的是一个 UMD 全局,但当前文件是一个模块。考虑改为添加导入。

代码如下:

///<reference path="matter-js.d.ts"/>

import Ioc from "./libs/ioc";
let master = new Ioc();
console.log(master);
console.log(Matter);

浏览器错误:

app.ts:11 未捕获的 ReferenceError:未定义问题

我需要加载 matter-js.js 库吗?

如果我说:

import matter from 'matter-js'

我得到:

模块“matter-js”没有默认导出。

4

5 回答 5

8

您可以尝试使用 加载它import * as matter from 'matter-js',这应该可以。

于 2018-05-19T09:15:05.580 回答
2

你也可以做

var Matter = require('matter-js');

或者

import { Engine, World, Body, Bodies, Constraint } from 'matter-js';

@types/matter-js缺少课程,Common但也许您无论如何都不应该使用它。如果你真的需要它,你可以把它添加到包中的 index.d.ts 中,

export class Common {
    static extend(obj:any, deep?:boolean): any;
    static clone(obj:any, deep?:boolean): any;
    static keys(obj:any): any;
    static values(obj:any): any;
    static get(obj:any, path:string, begin:number, end:number): any;
    static set(obj:any, path:string, val:any, begin:number, end:number): any;
    static shuffle(array:any[]): any;
    static choose(choices:any[]): any;
    static isElement(obj:any):boolean;
    static isArray(obj:any):boolean;
    static isFunction(obj:any):boolean;
    static isPlainObject(obj:any):boolean;
    static isString(obj:any):boolean;
    static clamp(value:number, min:number, max:number):number;
    static sign(value:number): number;   
    static now(): number;
    static random(min?:number, max?:number): number;
    static colorToNumber(colorString:string): number;
    static log(...objs:any[]): void;
    static info(...objs:any[]): void;
    static warn(...objs:any[]): void;
}
于 2019-08-16T17:40:31.807 回答
2

我用脚本标签加载了 matter.js 库。你忘了吗?

<script src="js/matter.min.js"></script>

我安装了打字机

npm install @types/matter-js
于 2018-04-09T18:14:56.880 回答
2

不幸的是,打字稿库似乎已经过时了。上次提交 2 年前。打字稿定义中需要的参数应该是可选的...

于 2018-05-19T09:05:51.447 回答
0

我的 matterjs 导入出现错误,直到我删除我的node_modulesnpm install再次运行。然后问题就消失了。结束了以下内容:

import * as Matter from 'matter-js';
于 2021-10-03T22:53:40.717 回答