导出和要求未定义

时间:2016-05-11 12:57:18

标签: javascript jquery typescript

我创建了一个将一些jQuery数据添加到UI的类:

/// <reference path="../typings/jquery/jquery.d.ts" />
/// <reference path="../typings/custom.d.ts" />
export class Semaphore {
info: any[];

constructor(info: any[]) {
    this.info = info;
}

AddJqueryData() {
    var self = this;

    for (let bigKey in this.info) {
        let object = this.info[bigKey];
        for (let smallKey in object) {
            $(`#etape_3CosmeticAppraisal table td.${smallKey}.row_M${bigKey}`).tooltip({
                content() {
                    return object[smallKey].txt + '<img src="' + object[smallKey].img + '" class="cimage">';
                },
                show: { delay: 600 }
            });
        }
    }        
}

}

现在,我想从另一个文件导入这个类,并为它提供一个特定的数组来使用:

import { Semaphore } from "./SemaphoreLogic";

let cosmeticData = [];

$(document).ready(() => {
    let x = new Semaphore(cosmeticData);
    x.AddJqueryData();
});

在我的View页面中,我对具有import语句的js文件进行了引用。 (我也尝试添加具有基本功能但仍然没有运气的js文件。)

我得到的错误是:未定义require或未定义导出,我不知道为什么会这样。我在网上搜索了很多,但我找不到任何可以帮助我的东西。

提前谢谢

P.S。:如果你能想到比我更好的方法,请随意睁开眼睛:D。 (我很喜欢TypeScript)

1 个答案:

答案 0 :(得分:3)

听起来您的转发器正在将您的import / export语句转换为CommonJS风格的require / export语句。当然,这在浏览器中不起作用(除非你使用像Browserify这样的东西,听起来你不是这样)。您需要使用Browserify或Webpack之类的工具来实现这一点。