首页 > 解决方案 > 仅使用jointjs的几何库时导入问题

问题描述

这是一个支持打字稿的简单create-react-app项目,我使用
我下载geometry.d.ts的VS代码geometry.js(从geometry.mjs重命名)到项目中,
然后我尝试像import * as g from "../../shared/geometry";
有趣的事情一样导入它,ts-check说我有类型2g秒进入g命名空间
,但在浏览器中编译并运行后,g.g这里发生了什么未定义?如何摆脱第二个g图片

标签: jointjs

解决方案


好的,最后,我将 .d.ts 文件放到了一个单独的文件夹中我 在最后/// <reference path="../../types/geometry.d.ts" />的 geometry.js 文件的头部添加了一个参考注释,
像这样更改代码

// exports.Curve = Curve;
// exports.Ellipse = Ellipse;
// exports.Line = Line;
// exports.Path = Path;
// exports.Point = Point;
// exports.Polyline = Polyline;
// exports.Rect = Rect;
// exports.bezier = bezier;
// exports.ellipse = ellipse;
// exports.line = line;
// exports.normalizeAngle = normalizeAngle;
// exports.point = point;
// exports.random = random;
// exports.rect = rect;
// exports.scale = scale;
// exports.snapToGrid = snapToGrid;
// exports.toDeg = toDeg;
// exports.toRad = toRad;

export {
    Curve,
    Ellipse,
    Line,
    Path,
    Point,
    Polyline,
    Rect,
    bezier,
    ellipse,
    line,
    normalizeAngle,
    point,
    random,
    rect,
    scale,
    snapToGrid,
    toDeg,
    toRad
};

然后 import g 就像import * as g from "../shared/geometry";
现在一切看起来都很好


推荐阅读