javascript - TypeScript 定义外部类

标签 javascript node.js typescript

目前我的代码如下所示:

module Nexus {

    export class Scraper {

        private summonerName: string;

        private apiKey: string = '';

        private summonerStatsUrl = '';

        constructor(name: string) {

            this.summonerName = name;
        }

        getSeasonRank(): string {

            return 'aa';
        }

        getRankedStats(): string {

            return 'aa';
        }

        getSummonerStats(callback: Function) {

            var summonerStats = request(this.summonerStatsUrl + this.apiKey, function (error, body, response) {

                callback(response);
            });
        }
    }
}

app.ts:

///<reference path="./Nexus.ts"/>

var colors = require('colors'),
    request = require('request'),
    fs = require('fs'),
    readline = require('readline'),
    rl = readline.createInterface({

        input: process.stdin,
        output: process.stdout
    });

rl.question('Insert summoner name: \r\n >> ', function (answer) {

    var scraper = new Nexus.Scraper(answer);

    scraper.getSummonerStats(function (result) {

        console.log(result);
    });
});

当我到达新的 Nexus.Scraper() 时,我收到此错误:

Nexus 未定义

虽然应该是因为我包含了它?该模块名为 Nexus,我正在导出 Scraper 类。 (该文件名为 Nexus.ts。)

最佳答案

确保您的模块如下所示:

module Nexus {
    export class Scraper {
        private summonerName: string;
        private apiKey: string = '';
        private summonerStatsUrl = '';

        constructor(name: string) {

            this.summonerName = name;
        }
        
        getSeasonRank(): string {

            return 'aa';
        }
        
        getRankedStats(): string {
            return 'aa';
        }
        
        getSummonerStats(callback: Function) {
            var summonerStats = request(this.summonerStatsUrl + this.apiKey, function (error, body, response) {
                callback(response);
            });
        }
    }
}

export = Nexus;

然后,不要使用 /// <reference />这样做:

import Nexus = require('Nexus');

关于javascript - TypeScript 定义外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282394/

相关文章:

javascript - 聚焦时如何更改输入字段的位置?

javascript - 当我点击提交按钮时,我的 javascript 第一个警告框显示在移动设备上,但在桌面上工作正常

node.js - 如何使用 Node.JS 从 AWS 访问 OnPremise 系统

node.js - NPM 锁定依赖项 package.json 中的依赖项版本

angular - 小时显示 hourSegments Angular 日历

javascript - Material UI 图标的类型

angular - Angular Testing 中 tick() 和 flush() 有什么区别?

javascript - 从 PHP 获取 XML 到 Jquery - XML 标签

javascript - 为什么我的倒计时没有停在 0 处?

Node.js 一次锁定一个用户