从品牌网站建设到网络营销策划,从策略到执行的一站式服务
为什么要封装一个实用函数的 npm 包?
成都创新互联公司专业为企业提供丹凤网站建设、丹凤做网站、丹凤网站设计、丹凤网站制作等企业网站建设、网页设计与制作、丹凤企业网站模板建站服务,十余年丹凤做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
当你连续写了多个 Node 应用, 都想要 console 漂亮一点, 你可能会像下面这样封装一个函数
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) };
调用方式
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!")
慢慢的发现每个项目都需要这么一个 log 文件, 是的! 我们此时可以考虑把这些常用的函数封装集合到一个 npm 包里面了!
需要注意的事项有哪些
单元测试
考虑到代码量的增加以及贡献者的增加事先加入单元测试是很有必要的
持续集成
Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。
代码层面
扩展开放, 修改关闭的设计原则
当 src 目录新增一个实用函数文件, index.ts 能够自动抓取然后挂载在 module.export 上
通过 getter 巧妙的实现懒加载导出的功能
Object.defineProperty(module.export, 'log', { configurable: false, enumerable: true, get: () => require('./log') });
项目地址
https://github.com/xiaoxiaojx/enhanced 欢迎 🌟 Star 🌟 和 Pr 和 在项目中使用~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图