摘要:自發布以來就備受關注,也有很多媒體和開發者稱為下一代。所以在寫這個插件之前,我又為寫了一個插件。插件提供了開箱即用的支持,開發者不需要任何配置,但是有一個前提是開發者需要使用內置的。
這幾天為 Deno 開發了一個 VS Code 插件:Deno support for VSCode,GitHub 地址:https://github.com/justjavac/...。
自 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.
而另一個問題則是,Deno 可以加載遠程模塊,但是 TypeScript 卻不行。比如上面的代碼,也是會報錯的:
ts(2307): Cannot find module "https://deno.land/x/std/log/mod".
而這個插件正是為了解決這 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.json 的 plugins:
{ "compilerOptions": { "plugins": [ { "name": "typescript-deno-plugin" } ] } }
如果你正在打算學習 Deno 的開發,可以通過這個鏈接 Deno support for VSCode 安裝插件。
祝,開發愉快。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109007.html
摘要:理解基礎篇原理篇一啟動加載通信方式執行代碼和相似,包含同步和異步的方式,異步方式通過的實現。同時在異步通信完成后,會創建一個對象,將作為,作為,加入中。 理解deno-基礎篇deno-原理篇一啟動加載 通信方式 deno執行代碼和node相似,包含同步和異步的方式, 異步方式通過async的實現。 Typescript/Javascript調用rust 在上一節中講到deno的啟動時會...
摘要:之父在中的設計錯誤演講中表示不允許將任意本地函數綁定至當中。所有系統調用都將通過消息傳遞完成序列化。兩項原生函數與。這既簡化了設計流程,又使得系統更易于審計。 Node之父ry:在Node中的設計錯誤演講中表示: 不允許將任意本地函數綁定至 V8 當中。 所有系統調用都將通過消息傳遞完成(protobuf 序列化)。 兩項原生函數:send 與 recv。 這既簡化了設計流程,又使得...
摘要:長文預警字,圖。開發并不是因為,也不是為了取代。不知道從官方介紹來看,可以認為它是下一代是如何腦補出來的。只是一個原型或實驗性產品。所以,不是要取代,也不是下一代,也不是要放棄重建生態。的目前是要擁抱瀏覽器生態。 這幾天前端圈最火的事件莫過于 ry(Ryan Dahl) 的新項目 deno 了,很多 IT 新聞和媒體都用了標題:下一代 Node.js。這周末讀了一遍 deno 的源碼,...
摘要:里面有一句描述,可以看到的目標是兼容瀏覽器。那么這里的兼容瀏覽器到底如何是什么意思呢我簡單談談我的理解吧。很多人還有誤解以為兼容瀏覽器指的是會提供類似里的寫法。 Deno 里面有一句描述:Aims to be browser compatible,可以看到 Deno 的目標是兼容瀏覽器。那么這里的兼容瀏覽器到底如何是什么意思呢? 我簡單談談我的理解吧。 首先這里的兼容性肯定不是 Den...
摘要:發布插件插件開發完后就可以發布了,需要安裝安裝完后,需要去注冊并生成一個。總結本文介紹了插件開發的基本流程,實現了一個簡單的插件。更多的開發技巧,可以看這個系列的第二篇插件開發介紹二 前言 前段時間做了一個基于命令行的效率工具,可以自動生成組件的模板代碼。自己用起來還覺得挺好,但在組內案例幾次后大家都不愿意用,究其原因還是命令行工具使用起來門檻有點高,不方便。由于組內已經統一使用VS ...
閱讀 1104·2021-11-16 11:45
閱讀 3123·2021-10-13 09:40
閱讀 714·2019-08-26 13:45
閱讀 1188·2019-08-26 13:32
閱讀 2167·2019-08-26 13:23
閱讀 911·2019-08-26 12:16
閱讀 2823·2019-08-26 11:37
閱讀 1747·2019-08-26 10:32