Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导入.d.ts文件以及如何使用它声明的类?_Javascript_Import_Protocol Buffers - Fatal编程技术网

Javascript 如何导入.d.ts文件以及如何使用它声明的类?

Javascript 如何导入.d.ts文件以及如何使用它声明的类?,javascript,import,protocol-buffers,Javascript,Import,Protocol Buffers,我想将area.js(模块testt)导入MyModule.ts。 area.js有一个area.d.ts文件 区域d.ts: import * as $protobuf from "../node_modules/protobufjs/minimal"; /** Properties of a ProtoArea. */ export interface IProtoArea { } /** Represents a ProtoArea. */ export class ProtoArea

我想将area.js(模块testt)导入MyModule.ts。 area.js有一个area.d.ts文件

区域d.ts

import * as $protobuf from "../node_modules/protobufjs/minimal";

/** Properties of a ProtoArea. */
export interface IProtoArea
{
}

/** Represents a ProtoArea. */
export class ProtoArea
{
    ...
    ...
}
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()");
        }
    }
}
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

import * as $protobuf from "../node_modules/protobufjs/minimal";

/** Properties of a ProtoArea. */
export interface IProtoArea
{
}

/** Represents a ProtoArea. */
export class ProtoArea
{
    ...
    ...
}
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()");
        }
    }
}
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();
下面是
LayaSample.ts

import * as $protobuf from "../node_modules/protobufjs/minimal";

/** Properties of a ProtoArea. */
export interface IProtoArea
{
}

/** Represents a ProtoArea. */
export class ProtoArea
{
    ...
    ...
}
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()");
        }
    }
}
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.T。。 我试着这样做:

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");
等等。 它们都不起作用。 谢谢你的帮助