javascript - TypeScript 定义文件应该包含在 _references.js 中吗?

标签 javascript visual-studio-2013 typescript

比如说,我包含了一个 Nuget 包 jquery.TypeScript.DefinitelyTyped ,是否应该将其添加为对 Scripts/_references.js 的引用?如果是这样,是否可以删除 jQuery ,或者具体地说,jquery-2.1.1.js 来自 Scipts 目录的文件?也就是说,当 TypeScript 可用时,我是否需要普通的 .js nuget 包?

在更广泛的背景下,我在思考这个过程是如何工作的,或者什么是首选的工作方式,或者什么应该在具有最新更新的 Visual Studio 2013 中工作。在 Visual Studio 中包含 TypeScript 工具之前,我发现许多博客文章和教程都详细介绍了方法。

.js 文件和可选的 d.ts 文件。但是 d.ts 文件应该包含在 _references.js 中,还是 .jsd.ts > 文件?

最佳答案

Say, I include a Nuget package jquery.TypeScript.DefinitelyTyped, should it be added as a reference to Scripts/_references.js?

只要您的项目中有 jquery.d.ts 就足够了。定义文件不会出现在任何已编译的 javascript 输出中(有关更多详细信息,请参阅 using _references.ts)。

编辑:重申一下,因为我刚刚意识到您在谈论 _references.js 而不是 _references.ts... 添加 .js 文件和 .d.ts 不是智能感知所必需的。在项目中使用 jquery.d.ts 对 VS 2013 中的智能感知来说已经足够了。

Should it be possible to remove jQuery, or specifically, say, jquery-2.1.1.js file from the Scipts directory?

不,不要删除您的 jquery.js 文件。 DefinitelyTyped 的 nuget 包只是一个定义文件。定义文件不提供任何功能,只提供 describe the shape of a library .它允许人们使用现有的 JavaScript 库,并具有类型约束的额外好处,而无需在 TypeScript 中单独重写和维护库。

例如,假设我有一个包含以下代码的 JavaScript 库:

function myAlert(text) {
    alert(text);
}

描述此 JavaScript 库的定义文件可能如下所示:

declare var myAlert: (text: string) => void;

如您所见,我的定义文件中没有任何功能,因此在 TypeScript 中使用我的 JS 库需要两者(请注意,生产代码中只需要 JS 文件,因为这是浏览器将执行的文件).

关于javascript - TypeScript 定义文件应该包含在 _references.js 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183927/

相关文章:

c++ - 静态类 C++

reactjs - defaultValue 或值不适用于 FormItem ANTD

css - 将 onHover 样式应用于 MuiButton 中的元素

javascript - 如果结果已知,js 是否会跳过语句?

javascript - 获取 YouTube 网站中的 Flash 视频状态 - Chrome 扩展

javascript - API 数据打印到 Node 中的控制台但不显示在 html 中

c - 测试运行 null 和字母?

javascript - 不断更新cookie导致浏览器崩溃

c# - 将两个或多个工具窗口添加到同一个 Visual Studio 项目中

typescript - Sublime Text 3 Typescript 不允许缩进和单引号