vscode npm install报错_我为 VS Code 开发了一个 Deno 插件

49065edb0df9a450251b666d0f7e8ebe.png

这几天为 VS Code 开发了一个 Deno 插件:Deno support for VSCode,GitHub 地址:https://github.com/justjavac/vscode-deno。

自 Deno 发布以来就备受关注,也有很多媒体和开发者称 Deno 为“下一代 Node.js”。然而 Deno 的目标则是不兼容 Node.js,没有 npm,没有 package.json。

Deno 的目标旨在提供一个兼容浏览器的平台,因此 Deno 可以像浏览器的 ES Modules 那样,通过 URL 加载模块:

import * as log from "https://deno.land/x/std/log/mod.ts";

而且在加载模块时不能省略扩展名

但是,目前的所有开发工具都是为 Node.js 而构建的。在 TypeScript 中,我们不需要添加 .ts 扩展名。如果我们添加了,VS Code 会给我们一个错误提示:

ts(2691): An import path cannot end with a '.ts' extension. Consider importing './hello' instead.

604d6f39dce7267f0f2676016569c9ad.png

而另一个问题则是:Deno 可以加载远程模块,但是 TypeScript 却不行。比如上面的代码,也是会报错的:

ts(2307): Cannot find module ' https:// deno.land/x/std/log/mod '.

ec9d49158b4d1f8ff42a1c19fa4afe25.png

而这个插件正是为了解决这 2 个问题。

但是这两个错误不是 VS Code 提供了,而是 TypeScript 的编译器 tsc 提供的,因此需要修改 tsc 的功能。好消息是,TypeScript 从 2.3 开始便支持了 Language Service Plugin,这个功能仅能增强编辑体验,无法改变 TypeScript 核心行为(比如改变类型检查行为)或增加新特性(比如提供一种新语法或者)。通过查看 Language Service Plugin 的说明文件,这个功能正是我需要的。

所以在写这个 VS Code 插件之前,我又为 TypeScript 写了一个插件:typescript-deno-plugin。这个插件不仅可以用在 VS Code,还可以用在任何支持 TypeScript 的编辑器,比如 Atom、Visual Studio、WebStorm 等。

VS Code 插件提供了开箱即用的 Deno 支持,开发者不需要任何配置,但是有一个前提是:开发者需要使用 VS Code 内置的 TypeScript。如果你在项目中自行安装了 TypeScript,并且修改了 VS Code 的配置,使用了自己安装的版本,则需要自行安装配置 typescript-deno-plugin 插件。通过修改 tsconfig.jsonplugins

{
  "compilerOptions": {
    "plugins": [
      {
        "name": "typescript-deno-plugin"
      }
    ]
  }
}

如果你正在打算学习 Deno 的开发,可以通过这个链接 Deno support for VSCode 安装插件。

祝,开发愉快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值