手机版

Node.js如何优雅地封装一个实用函数的npm包

时间:2021-08-25 来源:互联网 编辑:宝哥软件园 浏览:

为什么要打包一个包含实用功能的npm包?

当您连续编写多个Node应用程序并希望控制台美观时,您可以封装一个函数如下

从“粉笔”导入粉笔;function noop(msg:字符串):字符串{ return msg }函数日志(fn: Function): (msg:字符串)=void { return (msg:字符串): void={ console . log(fn(msg));};}导出默认{ success: log(粉笔. green)、error: log(粉笔. red)、warn: log(粉笔. yellow)、info: log(粉笔. cyan)、log : log(noop)};呼叫模式

从“”导入日志。/log ' log . success(' hello green message!)log.error('hello red消息!)log.warn('hello黄色消息!)log.info('hello青色消息!)log.log('你好正常消息!)慢慢发现,每个项目都需要这样的日志文件,没错!此时,我们可以考虑将这些常用功能打包到一个npm包中!

有哪些注意事项

单元测试

考虑到代码量的增加和贡献者的增加,有必要提前加入单元测试

测试框架-Mocha是一个功能丰富的Javascript测试框架,可以在Node.js和浏览器中运行,支持BDD、TDD、QUnit和Exports风格的测试断言库-assert是Node的持续集成

特拉维斯CI提供持续集成服务(CI)。它绑定到Github上的项目,只要有新代码就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,并部署到服务器。

代码级

扩大开口,修改封闭的设计原则

当一个实用函数文件被添加到src目录中时,index.ts可以被自动抓取,然后装载到module.export上

通过getter巧妙地实现了惰性加载和导出的功能

object . defineperoperty(module . export,' log ',{ configurable: false,enumerable: true,get: ()=require('。/log ')});项目地址

https://github.com/xiaoxiaojx/enhanced欢迎Star和Pr以及它们在项目中的使用~

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:Node.js如何优雅地封装一个实用函数的npm包是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。