在 typescript 项目中导入 matter-js
Import matter-js in typescript project
我找到了这个文件:
https://www.npmjs.com/package/@types/matter-js
我执行这一行:
npm install --save @types/matter-js
在根 ts 文件中我收到错误消息:
'Matter' refers to a UMD global, but the current file is a module.
Consider adding an import instead.
代码如下:
///<reference path="matter-js.d.ts"/>
import Ioc from "./libs/ioc";
let master = new Ioc();
console.log(master);
console.log(Matter);
浏览器错误:
app.ts:11 Uncaught ReferenceError: Matter is not defined
我需要加载 matter-js.js 库吗?
如果我输入:
import matter from 'matter-js'
我得到:
Module ''matter-js'' has no default export.
我用脚本标签加载 matter.js 库。你忘了吗?
<script src="js/matter.min.js"></script>
我用
安装了打字
npm install @types/matter-js
不幸的是,打字稿库似乎已过时。最后一次提交是 2 年前。在打字稿定义中应该是可选的参数反而是必需的...
您可以尝试使用 import * as matter from 'matter-js'
加载它,应该可以。
你也可以
var Matter = require('matter-js');
或
import { Engine, World, Body, Bodies, Constraint } from 'matter-js';
@types/matter-js
缺少 Common
class,但也许您无论如何都不应该使用它。如果确实需要,可以把这个加到包里的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;
}
在我再次删除 node_modules
和 运行 npm install
之前,我的 matterjs 导入出现错误。然后问题就消失了。结果如下:
import * as Matter from 'matter-js';
我找到了这个文件:
https://www.npmjs.com/package/@types/matter-js
我执行这一行:
npm install --save @types/matter-js
在根 ts 文件中我收到错误消息:
'Matter' refers to a UMD global, but the current file is a module. Consider adding an import instead.
代码如下:
///<reference path="matter-js.d.ts"/>
import Ioc from "./libs/ioc";
let master = new Ioc();
console.log(master);
console.log(Matter);
浏览器错误:
app.ts:11 Uncaught ReferenceError: Matter is not defined
我需要加载 matter-js.js 库吗?
如果我输入:
import matter from 'matter-js'
我得到:
Module ''matter-js'' has no default export.
我用脚本标签加载 matter.js 库。你忘了吗?
<script src="js/matter.min.js"></script>
我用
安装了打字npm install @types/matter-js
不幸的是,打字稿库似乎已过时。最后一次提交是 2 年前。在打字稿定义中应该是可选的参数反而是必需的...
您可以尝试使用 import * as matter from 'matter-js'
加载它,应该可以。
你也可以
var Matter = require('matter-js');
或
import { Engine, World, Body, Bodies, Constraint } from 'matter-js';
@types/matter-js
缺少 Common
class,但也许您无论如何都不应该使用它。如果确实需要,可以把这个加到包里的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;
}
在我再次删除 node_modules
和 运行 npm install
之前,我的 matterjs 导入出现错误。然后问题就消失了。结果如下:
import * as Matter from 'matter-js';