0

我一直试图让它工作一整天,我在一个文件(a.ts)中有以下打字稿(0.9.1.1 版本):

/// <reference path="declarations/require.d.ts" />
/// <reference path="declarations/select2/select2.d.ts" />
/// <reference path="declarations/knockout.d.ts" />
/// <reference path="declarations/bootstrap/bootstrap.d.ts" />
/// <reference path="declarations/blockui/blockui.d.ts" />
/// <reference path="declarations/ObjectSerializer/ObjectSerializer.d.ts" />

    import $ = require('jquery');
// ... code defining a class 

我有一个来自https://github.com/borisyankov/DefinitelyTyped/blob/master/jquery/jquery.d.ts的声明/键入文件 jquery.d.ts

部分内容如下:

declare module "jquery" {
    export = $;
}

最后有一条错误行,在导出行上显示“模块预期”。

我在这里误解了什么或什么?

我正在尝试将 typescript 用作 AMD 兼容(使用 requirejs),但 jquery.d.ts 行中的这一行将其中断,出现一个错误“预期模块”。

我只需要生成必要的

require(['require','exports','jquery'], function(require, exports, $) {
//....
});

应该是 jquery.d.ts 中的导出和import $ = require('jquery');正确的?

最终目标是拥有一个 require 语句,以确保在使用 requirejs 执行文件中的代码之前加载 jquery。

4

2 回答 2

0

尝试

import jquery = require('jquery');
于 2013-09-14T02:35:50.970 回答
0

打字稿怪异....

遇到问题,在我的工作电脑上提示问题。在从 typescriptlang.org 下载并安装 Visual Studio Web Express(在工作中使用 Pro)和 TypeScript 依赖项并使用 nuget 获取 jquery.d.ts 文件后,jquery.d.ts 文件中的错误消失了(虽然代码相同,区分它)。

但是,在家里使用 express for web 版本 VS 我发现了一个奇怪的错误或错误的配置,这里有一个描述:

在 VS 2012 Express 中,我保存了文件,当我查看相应的 js 文件时,我在那里看到了定义语句,但在生成的实际语句中缺少所有导入。查看下面的 hello.ts 和 hello.js,然后是 hello.js(重建解决方案后正确编译)

你好.ts

/// <reference path="typings/jquery/jquery.d.ts"/>
import $ = require('jquery');

import app = require('app');

var a = new app.MyClass('curt');
a.Hello();

hello.js 通过保存文件生成

define(["require", "exports"], function(require, exports) {




    var a = new app.MyClass('curt');
    a.Hello();
});
//# sourceMappingURL=hello.js.map

hello.js 在重建解决方案后正确构建

define(["require", "exports", 'jquery', 'app'], function(require, exports, __$__, __app__) {
    /// <reference path="typings/jquery/jquery.d.ts"/>
    var $ = __$__;

    var app = __app__;

    var a = new app.MyClass('curt');
    a.Hello();
});
//# sourceMappingURL=hello.js.map

注意:保存文件 hello.ts 总是会出错,但在重建后会正确生成。

如果任何人都可以重现这一点,则可能需要将其记录为错误。如果不是,那可能是我的构建环境的问题。如果我卸载并重新安装了打字稿,我在工作中遇到的原始问题(问题)应该得到解决,因为我在家里似乎没有这个特定问题。

于 2013-09-15T04:52:08.617 回答