Deno 管理依賴

2020-09-22 17:20 更新

在Deno中,沒有包管理器的概念,因為外部模塊直接導入到本地模塊中。

這就提出了一個問題,即如何在沒有包管理器的情況下管理遠程依賴關(guān)系。在具有許多依賴性的大型項目中,如果將模塊全部單獨導入到單個模塊中,則更新模塊將變得很麻煩且耗時。

在 Deno 中解決此問題的標準做法是創(chuàng)建一個 deps.ts 文件。此文件中引用了所有必需的遠程依賴關(guān)系,并且重新導出了所需的方法和類。本地模塊從 deps.ts 導入所需方法和類,而不是遠程依賴。

這樣就可以輕松跨大型代碼庫更新模塊,并解決“程序包管理器問題”(如果它存在的話)。開發(fā)依賴項也可以在單獨的 dev_deps.ts 文件中進行管理。

deps.ts 示例

/**
 * deps.ts 從遠程的 Ramda 模塊中重新導出所需方法。
 **/
export {
  add,
  multiply,
} from "https://x.nest.land/ramda@0.27.0/source/index.js";

此示例中的功能與 導入和導出模塊 相同。但是在這種情況下,不是直接導入 Ramda 模塊,而是從本地代理 deps.ts 模塊中導入。

命令: deno run dependencies.ts

import {
  add,
  multiply,
} from "./deps.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
 */
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號