我想将area.js(模块testt)导入MyModule.ts。 area.js有一个area.d.ts文件。
area.d.ts
:
import * as $protobuf from "../node_modules/protobufjs/minimal";
/** Properties of a ProtoArea. */
export interface IProtoArea
{
}
/** Represents a ProtoArea. */
export class ProtoArea
{
...
...
}
MyModule.ts
:
import ProtoArea = require("../libs/area");
module testt{
export function MyModuleFunc():void
{
console.log("in MyModuleFunc function");
// let msg = ProtoArea.create();
// let buffer = ProtoArea.encode(msg).finish();
// let decode = ProtoArea.decode(buffer);
// console.log(`buffer = ${Array.prototype.toString.call(buffer)}`);
}
export class MyClass
{
public callClassFunc():void
{
console.log("MyClass->callClassFunc()");
}
}
}
以下是LayaSample.ts
:
import te = testt.MyModuleFunc;
class GameMain{
constructor()
{
Laya.init(600,400, 0x000000);
console.log("start");
te();
let cls = new testt.MyClass();
cls.callClassFunc();
}
}
new GameMain();
如果我在MyModule.ts中添加此代码,则编译失败:
找不到名字'testt'。 找不到命名空间'testt'。
import ProtoArea = require("../libs/bundle");
如果评论它,编译没有错误。 那有什么问题呢? 我该如何导入它?以及如何使用area.d.ts中声明的类ProtoArea? 我是JS和TS的新手。我试了几天。我发现我可以导入这样的模块:
import te = testt.MyModuleFunc;
但不知道.d.ts .. 我试过这些:
import pa = require("../libs/area.d.ts");
import {pa} from "../libs/area";
import ProtoArea as pa from "../libs/area";
import Pa = require("ProtoArea");
require("ProtoArea");
require("../libs/area");
等。 它们都不起作用。 谢谢你的帮助。