Deno 導(dǎo)入和導(dǎo)出模塊

2020-09-22 17:19 更新

導(dǎo)入和導(dǎo)出模塊

默認(rèn)情況下,Deno標(biāo)準(zhǔn)化了在 JavaScript 和 TypeScript 中導(dǎo)入模塊的方式。

它遵循 ECMAScript 6 import/export 標(biāo)準(zhǔn),但有一個(gè)警告,文件類型(后綴名)必須包含在 import 語(yǔ)句的末尾。

import {
  add,
  multiply,
} from "./arithmetic.ts";

依賴項(xiàng)也直接導(dǎo)入,沒有包管理開銷。本地模塊的導(dǎo)入方式與遠(yuǎn)程模塊完全相同。

如下面的示例所示,可以使用本地或遠(yuǎn)程模塊以相同的方式產(chǎn)生相同的功能。

本地導(dǎo)入

在這個(gè)例子中,addmultiply 函數(shù)是從本地的 arithmetic.ts 模塊導(dǎo)入的。

命令: deno run local.ts

import { add, multiply } from "./arithmetic.ts";


function totalCost(outbound: number, inbound: number, tax: number): number {
  return multiply(add(outbound, inbound), tax);
}


console.log(totalCost(19, 31, 1.2));
console.log(totalCost(45, 27, 1.15));


/**
 * 輸出:
 *
 * 60
 * 82.8
 */

導(dǎo)出

在上面的示例中,addmultiply 函數(shù)是從本地存儲(chǔ)的算術(shù)模塊導(dǎo)入的。為此,必須導(dǎo)出存儲(chǔ)在運(yùn)算模塊中的功能。

只需將關(guān)鍵字 export 添加到函數(shù)簽名的開頭,如下所示。

export function add(a: number, b: number): number {
  return a + b;
}


export function multiply(a: number, b: number): number {
  return a * b;
}

需要在外部模塊中訪問的所有函數(shù)、類、常量和變量都必須導(dǎo)出。可以在它們的前面加上 export 關(guān)鍵字,也可以將它們包括在文件底部的 export 語(yǔ)句中。

要了解有關(guān) ECMAScript 導(dǎo)出功能的更多信息,請(qǐng)閱讀 MDN 文檔.

遠(yuǎn)程導(dǎo)入

在上面的本地導(dǎo)入示例中,從本地存儲(chǔ)的算術(shù)模塊中導(dǎo)入了 addmultiply 方法。 也可以通過從遠(yuǎn)程模塊導(dǎo)入 addmultiply 方法來實(shí)現(xiàn)相同的功能。

在這種情況下,可以導(dǎo)入 Ramda 模塊,包括版本號(hào)。Deno 可以處理 JavaScript 模塊直接導(dǎo)入到 TypeSript 模塊的情況。

命令: deno run ./remote.ts

import {
  add,
  multiply,
} from "https://x.nest.land/ramda@0.27.0/source/index.js";


function totalCost(outbound: number, inbound: number, tax: number): number {
  return multiply(add(outbound, inbound), tax);
}


console.log(totalCost(19, 31, 1.2));
console.log(totalCost(45, 27, 1.15));


/**
 * 輸出:
 *
 * 60
 * 82.8
 */
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)