- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经阅读了关于如何将(流行的).js 库及其 d.ts 文件添加到 Typescript 模块文件的其他帖子和教程,但我陷入了错误消息的恶性循环。我是 Typescript 的新手,所以如果我的设置存在根本性错误,请告诉我。
我正在创建一个使用(以及其他)vis.js 数据集或 moment.js 函数的 .ts 模块。
VS Code 任务将我的 .ts 模块文件编译为 .js。当然,我想对正在使用的 js 库使用 IntelliSense。
vis.js 的 .d.ts 文件取自 DefinitelyTyped 项目。
文件结构:
/projectdir
/.vscode
tasks.json
/lib
vis.js
moment.js
/src
myModule.ts
-> myModule.js
-> myModule.js.map
/types
/vis/index.d.ts...
/jquery/index.d.ts...
index.html
tsconfig.json
tsconfig.json 的内容:
{
"compilerOptions": {
"module": "system",
"moduleResolution": "classic",
"allowJs": true,
"allowSyntheticDefaultImports": true,
"target": "es5",
"sourceMap": true,
"watch": true,
"rootDir": "src",
"lib": ["es2015", "dom", "dom.iterable"],
"baseUrl": "types",
"typeRoots": ["types"]
},
"exclude": [
"./lib",
"**/*.js",
"**/*.js.map"
],
"include": [
"src/**/*.ts"
]
}
我的 VSCode tasks.json 的内容:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"command": "tsc",
"problemMatcher": "$tsc",
"tasks": [{
"type": "typescript",
"tsconfig": "tsconfig.json",
"group": {
"kind": "build",
"isDefault": true
}
}]
}
最后这是 myModule.ts:
export module datacore {
export var myDataSet = new vis.DataSet([]);
}
我已经在 tsconfig.json 中设置并引用了 vis 和其他 js 库的 .d.ts 文件。基本上它有效,但我收到此错误:
src/datacore.ts(2,33): error TS2686: 'vis' refers to a UMD global, but the current file is a module. Consider adding an import instead.
所以我考虑在我的模块之上添加一个导入:
import * as vis from "../lib/vis";
//also tried: import vis = require("../lib/vis");
export module datacore {
export var myDataSet = new vis.DataSet([]);
}
当我现在在 myModule.ts 文件上启动编译任务时,它需要相当长的时间,因为他显然也试图编译 vis.js。一段时间后,我收到此错误:
Cannot write file '/Users/username/Desktop/timecore/lib/vis.js' because it would overwrite input file.
好吧,他不会写 vis.js,但我不想这样。为了防止他编译 .js 文件,我在 tsconfig.json 中将“allowJs”: 设置为 false。
现在编译快多了,但是会导致这个错误:
src/datacore.ts(3,22): error TS6143: Module '../lib/vis' was resolved to '/Users/username/Desktop/timecore/lib/vis.js', but '--allowJs' is not set.
这是恶性循环结束的地方。
我的设置有什么问题?
我需要做什么才能将 js 库正确导入我的 Typescript 模块(这样我也可以使用 IntelliSense 在 VS Code 中进行类型检查)?
最佳答案
What's wrong with my setup?
嗯,我无法找出你的设置有什么问题,因为我觉得它真的很奇怪。
如果我必须使用 vis.js 和 moment.js 创建一个 TypeScript 项目,这将是我的设置过程(使用 npm):
npm install --save vis moment
npm install --save-dev @types/vis @types/moment
然后,您的代码应该如下所示:
import * as vis from "vis";
export module datacore {
export var myDataSet = new vis.DataSet([]);
}
我不会在您的 tsconfig.json 中使用系统作为模块求解器。相反,我建议您使用 tsc --init
生成一个初始 tsconfig.json
文件,然后根据您的需要对其进行调整。
最后,如果您的目标是网络浏览器,您还应该寻找有关网络解决方案(如 webpack 或 RequireJS)的信息。
关于javascript - 如何利用 Intellisense 将 js 库导入 Typescript 模块/VS 代码任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140611/
我现在选择Objective-J Cappuccino开发的编辑器是Sublime Text2。不幸的是,我没有找到Objective-J智能感知自动完成插件的运气。似乎应该可行,因为Objectiv
我想在 VSCode 中使用代码片段。但是,当我在 javascript 文件中键入 for 时,Intellisense 不会建议片段“for-loop” - 我需要手动滚动下拉列表并选择它。有没有
我正在 VisualStudio 中编写一个 dll。该库包含两个名称相同但 namespace 不同的类。 public namespace XCharting { public class
我们正在使用 MVVM Light Toolkit(来自 Galasoft - Laurent Bugnion)。 到目前为止,我们使用的是 Visual Studio 2010。 一切都运行良好(感
我们目前正在 Blend 3 中构建 WPF 解决方案,Intellisense 非常慢。 Visual Studio 2008 和 2010 beta 2 没有任何问题,Blend 2 也没有任何问
我正在为 Visual Studio Code 中的自定义语言编写扩展。语法检测通过 tmLanguage 文件运行良好。我试图弄清楚如何添加智能感知并转到符号支持,我既无法找到清晰的文档,也无法找到
/// <reference path="jquery-1.5.vsdoc.js" /> // IntelliSense works here. function ($, window, doc
我正在尝试为示例 Backbone.js 项目安装 TypeScript 定义。 在项目目录中,我发出了以下命令: npm init npm install typings typings insta
我最近通过 Web 平台安装程序安装了 ASP.NET MVC 3。我在 Razor View 中没有对 ViewBag 的智能感知支持。 Intellisense 适用于 Razor View 中的
我不想在 Visual Studio Code 中对 Markdown 文件进行单词补全,如何禁用它?理想情况下,仅适用于 Markdown,但在最坏的情况下,即使是全局切换也会很好。 最佳答案 VS
我有 VS 2012 的 RTM 版本,它很棒 - 但是 CSS 编辑器中的 VS11 中的智能感知不建议参数信息,但是......其他的东西,我不太确定那实际上是什么,它看起来像一些样本。 需要明确
我在 js 文件中添加了 vsdoc jquery 引用: /// 这工作得很好,但是一旦我在一个无冲突的包装器中写入内部... (function ($) { ...here... })(jQue
烦人的废话。我正在使用 VS 2012;我安装了 ReSharper 和 StyleCop (SC)。如果在一行代码上启用了 StyleCop 警告,除非修复它,否则我无法摆脱它。我想稍后处理 SC
我在 PPT 2013 中的“彩色参数帮助”功能有问题。 http://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a
在 javascript 上下文中查看异步模块定义 (AMD) 后,我想知道如何在 Visual Studio 2010 中为依赖模块获取智能感知。 例如给定模块A: define(function(
我有一个问题:我想将我的 Visual Studio 2012 的 UI 设置为默认(英语)语言,但我还希望有关 .NET 类型的 IntelliSense 提示以另一种语言显示。在 Visual S
可以去Resharper -> Options -> IntelliSense -> General吗并使用 Resharper 5 中的命令从 Resharper 切换到 Visual Studio
使用 Visual Studio 2015 Community edition 它会针对以下内容标记错误: { "type": "Microsoft.Compute/virtualMachi
我无法在Visual Studio 2017中找到该选项。我知道您可以更改正在编写的代码的字体,但是看不到IntelliSense的选项使我认为这是不可能的。 最佳答案 工具–选项–环境–字体和颜色>
我看过相关问题 Intellisense for custom config section problem with namespaces它描述了我遇到的同样问题。虽然解决方案对我不起作用。 我在这
我是一名优秀的程序员,十分优秀!