W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
在Deno中,沒有包管理器的概念,因?yàn)橥獠磕K直接導(dǎo)入到本地模塊中。
這就提出了一個問題,即如何在沒有包管理器的情況下管理遠(yuǎn)程依賴關(guān)系。在具有許多依賴性的大型項(xiàng)目中,如果將模塊全部單獨(dú)導(dǎo)入到單個模塊中,則更新模塊將變得很麻煩且耗時(shí)。
在 Deno 中解決此問題的標(biāo)準(zhǔn)做法是創(chuàng)建一個 deps.ts
文件。此文件中引用了所有必需的遠(yuǎn)程依賴關(guān)系,并且重新導(dǎo)出了所需的方法和類。本地模塊從 deps.ts
導(dǎo)入所需方法和類,而不是遠(yuǎn)程依賴。
這樣就可以輕松跨大型代碼庫更新模塊,并解決“程序包管理器問題”(如果它存在的話)。開發(fā)依賴項(xiàng)也可以在單獨(dú)的 dev_deps.ts
文件中進(jìn)行管理。
deps.ts 示例
/**
* deps.ts 從遠(yuǎn)程的 Ramda 模塊中重新導(dǎo)出所需方法。
**/
export {
add,
multiply,
} from "https://x.nest.land/ramda@0.27.0/source/index.js";
此示例中的功能與 導(dǎo)入和導(dǎo)出模塊 相同。但是在這種情況下,不是直接導(dǎo)入 Ramda 模塊,而是從本地代理 deps.ts
模塊中導(dǎo)入。
命令: 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
*/
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: