真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法

為什么要封裝一個(gè)實(shí)用函數(shù)的 npm 包?

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供丹鳳網(wǎng)站建設(shè)、丹鳳做網(wǎng)站、丹鳳網(wǎng)站設(shè)計(jì)、丹鳳網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、丹鳳企業(yè)網(wǎng)站模板建站服務(wù),十余年丹鳳做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

當(dāng)你連續(xù)寫了多個(gè) Node 應(yīng)用, 都想要 console 漂亮一點(diǎn), 你可能會(huì)像下面這樣封裝一個(gè)函數(shù)

import chalk from "chalk";

function noop(msg: string): string {
  return msg
}

function log(fn: Function): (msg: string) => void {
  return (msg: string): void => {
    console.log(fn(msg));
  };
}

export default {
  success: log(chalk.green),
  error: log(chalk.red),
  warn: log(chalk.yellow),
  info: log(chalk.cyan),
  log: log(noop)
};

調(diào)用方式

import log from './log'
log.success("hello green message!")
log.error("hello red message!")
log.warn("hello yellow message!")
log.info("hello cyan message!")
log.log("hello normal message!")

慢慢的發(fā)現(xiàn)每個(gè)項(xiàng)目都需要這么一個(gè) log 文件, 是的! 我們此時(shí)可以考慮把這些常用的函數(shù)封裝集合到一個(gè) npm 包里面了!

需要注意的事項(xiàng)有哪些

單元測試

考慮到代碼量的增加以及貢獻(xiàn)者的增加事先加入單元測試是很有必要的

  • 測試框架 - Mocha 是一個(gè)功能豐富的Javascript測試框架,它能運(yùn)行在Node.js和瀏覽器中,支持BDD、TDD、QUnit、Exports式的測試
  • 斷言庫 - assert 是 Node 自帶的

持續(xù)集成

Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法

Travis CI 提供的是持續(xù)集成服務(wù)(Continuous Integration,簡稱 CI)。它綁定 Github 上面的項(xiàng)目,只要有新的代碼,就會(huì)自動(dòng)抓取。然后,提供一個(gè)運(yùn)行環(huán)境,執(zhí)行測試,完成構(gòu)建,還能部署到服務(wù)器。

Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法

代碼層面

擴(kuò)展開放, 修改關(guān)閉的設(shè)計(jì)原則

當(dāng) src 目錄新增一個(gè)實(shí)用函數(shù)文件, index.ts 能夠自動(dòng)抓取然后掛載在 module.export 上

通過 getter 巧妙的實(shí)現(xiàn)懶加載導(dǎo)出的功能

Object.defineProperty(module.export, 'log', {
  configurable: false,
  enumerable: true,
  get: () => require('./log')
});

項(xiàng)目地址

https://github.com/xiaoxiaojx/enhanced 歡迎 🌟 Star 🌟 和 Pr  和 在項(xiàng)目中使用~

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)頁名稱:Node.js如何優(yōu)雅的封裝一個(gè)實(shí)用函數(shù)的npm包的方法
瀏覽路徑:http://weahome.cn/article/pepiii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部