将Typescript编译为javascript后,在导入函数之前的代码中添加带后缀“quot”的模块名称_1“;

将Typescript编译为javascript后,在导入函数之前的代码中添加带后缀“quot”的模块名称_1“;,javascript,d3.js,typescript,amd,queue.js,Javascript,D3.js,Typescript,Amd,Queue.js,我试图在ts/amd中重写一些js/d3.js代码。但是我在导入库时遇到了一个问题。这是my.ts文件的结构: /// <reference path="d3.d.ts"/>; /// <reference path="queue.d.ts"/>; import * as d3 from "d3"; import {queue} from "./queue"; export class Glob{ ... queue().defer(d3.json

我试图在ts/amd中重写一些js/d3.js代码。但是我在导入库时遇到了一个问题。这是my.ts文件的结构:

/// <reference path="d3.d.ts"/>;
/// <reference path="queue.d.ts"/>;
import * as d3 from "d3"; 
import {queue} from "./queue";

export class Glob{

    ...

    queue().defer(d3.json, "world-110m.json")
           .defer(d3.tsv, "world-110m-country-names.tsv")
           .await(this.draw);    

    ...

}
如果我使用它,它会给我错误:队列\u 1。队列不是函数。但是,如果我直接在生成的.js文件中删除队列,并只保留队列1(),则效果很好


所以,我只需要导入一个函数。怎么做

试着在tsconfig.json文件中设置不同的模块系统,看看效果如何。例如,将其设置为“commonjs”,谢谢您的建议,但我已经解决了这个问题。我只是找到了图书馆的特殊版本,特别适合于确定类型的文件。但是我觉得这个系统还是不好。。。
define(["require", "exports", "d3", "./queue"], function (require, exports, d3, queue_1) {
"use strict";

    ...

    Glob.prototype.init = function (class_name) {
        ...
        queue_1.queue()
               .defer(d3.json, "world-110m.json")
               .defer(d3.tsv, "world-110m-country-names.tsv")
               .await(this.draw);
         ...
    }

    ...

}