【问题标题】:How to import a javascript class into typescript?如何将javascript类导入打字稿?
【发布时间】:2019-08-13 09:16:13
【问题描述】:

我正在制作一个游戏,其中我有一个要导出的 js 类,如下所示:

var Game = cc.Class({
    name: "WS",
});
module.exports = Game;

以上内容在文件ws.js中。

在与ws.js 相同的目录中,我有一个名为transitions.ts 的TypeScript 文件,我尝试在其中导入Game 模块,如下所示:

import Game = require ("./Game");

我收到一个错误:cannot find module './Game'

【问题讨论】:

  • 你使用 webpack 吗?
  • 这不是 JavaScript/TypeScript 的事情,它与你用来处理 require 调用的东西有关——Webpack、RollupJS、Node.js...
  • 呃,如果这就是文件的名称,请使用require("./ws.js"),而不是Game.js
  • “另外,我想知道...” 每个问题问 一个 问题,而不是两个或三个问题。我正在对这个问题进行一些清理,所以我删除了那一点。
  • import Game = require ("./Game"); 看起来很奇怪,但 it's valid in TypeScript

标签: javascript typescript


【解决方案1】:

将JS模块导入为any

只需将import 替换为const

const Game = require("./Game");

或者,先写一个模块定义

另一种解决方案是在 .d.ts 文件中描述 JavaScript 模块:

// Game.d.ts
declare class Game {
  // …
}
export = Game;

然后,你可以导入 JS 模块:

import Game = require("./Game");

【讨论】:

    【解决方案2】:

    将您的类作为模块导出将允许您将其作为另一个文件中的一个导入。

    Class House { blah.. blah };
    export default House;
    
    import House from '../filename';
    
    

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2012-12-26
      • 1970-01-01
      • 2022-07-28
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2021-02-03
      相关资源
      最近更新 更多