【问题标题】:Using TypeScript with jQuery the Reference file does not exist使用带有 jQ​​uery 的 TypeScript 参考文件不存在
【发布时间】:2012-10-16 09:30:33
【问题描述】:

我使用 VS2012 插件和 Web Essentials 创建了我的第一个 TypeScript 文件:

///<reference path='/Scripts/jquery/jquery.d.ts' />
/*jslint browser: true*/
/*jslint vars: true */
/*global $, jQuery*/
/*global ajaxOnFailure, doAddSubmit, doResetTabs*/
/*global mvcOnFailure, updateGridMeta*/

function alertWin(title, message) {
    $.modal({
        content: '<p class="align-center">' + message + '</p>',
        title: title,
        minWidth: 150,
        maxWidth: 900,
        maxHeight: 600,
        width: false,
        buttons: {
            'Ok': function (win) { win.closeModal(); }
        }
    });
}

我将参考文件从解决方案拖放到文件顶部,它确实存在。

但是,一旦它被拖动,我就会在它下面看到一条红线,上面写着“引用的文件不存在”。我还注意到它似乎无法识别我脚本中的$

这是我的目录结构:

/Scripts
/jquery/jquery.d.ts
/Shared/dialog/functions/file1.ts <-- the file above

注意:

当我将 .ts 文件放在与 file1.ts 相同的目录中并按如下方式引用时,它就可以工作了:

///<reference path='jquery.d.ts' />

所以我的问题是:

我怎样才能将我的 jquery.d.ts 放在一个地方并从我的文件中引用它?

【问题讨论】:

    标签: javascript jquery typescript


    【解决方案1】:

    看到这个答案Using jQuery plugin in TypeScript

    jQuery 插件(和其他基于插件的库)的问题在于,您不仅需要为基础库提供 library.d.ts 文件,还需要为每个插件提供一个 plugin.d.ts 文件。并且不知何故,这些 plugin.d.ts 文件需要扩展 library.d.ts 文件中定义的库接口。幸运的是,TypeScript 有一个漂亮的小功能可以让你做到这一点。

    【讨论】:

    • 感谢您的链接,但在指定 library.d.ts 的位置时它对我没有帮助。如果它们与库文件位于同一目录中,我似乎只能引用它们。
    【解决方案2】:

    您需要使用相对于使用它的脚本的引用路径(使用..)——您不能只要求从根目录计算。

    【讨论】:

    • 我开始注意到这一点。但是,我也看到许多不使用相对路径的示例。这仅适用于非 asp-mvc 吗?
    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2018-06-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多