资讯专栏INFORMATION COLUMN

生成自己的js工具包,包括打包webpack、测试mocha、生成文档jsdoc、发布npm包的操作

Code4App / 1483人阅读

摘要:包说明包实际是一个存档文件,即一个目录直接打包为或格式的文件,安装后解压还原为目录。完全符合规范的包目录应该包含如下这些文件包描述文件。用于存放单元测试用例的代码。

keepsmiling说明

一些常用的函数集合,主要用到的技术如下:

ES6的包处理方式;

webpack打包方式;

BDD测试用例,只写了部分;

使用jsdoc生成注释文档;

你用eslint优化代码格式;

主要在于学习相关的技术与在平时的开发中总结一些常用的技巧,当然很多的函数是借用前辈经验。

项目运行 下载及查看

node 需要 6.0 以上版本。

$ https://github.com/moonbreezee/keepsmiling.git

$ cd keepsmiling

$ npm i 或者 yarn

$ npm run dev
目录说明
keepsmiling
  |—— lib // 源文件目录
  |   |—— index.js // 入口文件
  |   |—— *.js // 其他相关文件
  |—— dist // 生成文件目录,modules引用文件
  |—— doc // 生成的jsdoc说明文档,点击index.html可以本地查看
  |—— scripts // 用到的脚本文件及相关配置
  |—— static // index.html本地调试page
  |—— test // 测试用例
常用命令
$ npm run dev 开发模式

$ npm run build 生成可用非压缩文件

$ npm run dep 生成可用压缩文件, 用于部署到npm

$ npm run test 测试函数

$ npm run eslint 测试代码规范
publish操作

需要发布npm上,需要如下操作:
修改package的version,说明CHANGELOG,然后登录与发布,需要本地执行$ npm run beforePublish,提交之后执行。

$ npm login
npm publish
npm包说明

npm包实际是一个存档文件,即一个目录直接打包为.zip或tar.gz格式的文件,安装后解压还原为目录。
完全符合CommonJS规范的包目录应该包含如下这些文件:

package.json : 包描述文件。

bin: 用于存放可执行二进制文件的目录。

lib:用于存放javascript代码的目录。

doc:用于存放文档的目录。

test: 用于存放单元测试用例的代码。

开发npm包模块的时候,就可以按照以上目录结构,进行开发:

lib目录下存放业务逻辑文件

test目录下存放单元测试用例

.npmignore记录哪些文件不需要被发布到npmjs.org

.travis.yml是持续集成服务travis的描述文件

index.js是入口文件

makefile方便我们用make test进行测试

README.md是此module的描述和使用方法

JSDoc生成文档的说明

JSDoc官网文档

在线预览文档

eslint配置

全局安装eslint,然后初始化配置文件,目前使用版本^4.19,可以依据需要选择选择修改:
修改的部分规则

no-useless-escape 不允许在字符串和正则表达式中使用无意义的换行符
"no-useless-escape": "off",
单体测试(BDD测试,Behavior Driven Development)

测试脚手架:karam
测试框架:mocha
断言库:power-assert

后续说明

后续还要不断的完善

github地址
npm上包地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108758.html

相关文章

  • JavaScript开发工具大全

    摘要:发布于之后,采用了完全不同的方式,使用函数定义任务。它允许开发者使用它们的补丁和更新来修复这些安全漏洞。提供了工具用于扫描依赖来监测漏洞。是一个开源诊断工具,用于和应用。是和开发的一款新的包管理工具。与相比,它解决了安全性能以及一致性问题。 译者按: 最全的JavaScript开发工具列表,总有一款适合你! 原文: THE ULTIMATE LIST OF JAVASCRIPT TOO...

    nifhlheimr 评论0 收藏0
  • 你不知道前端SDK开发技巧

    摘要:一个带提示的最后对于开发同学来说,就算不使用,也强烈建议使用提供注解,它会通过一些类型推导来检查你的代码的正确性,可以减少很多开发过程中的。相对于对象,它保证了输入的类型你定义的对象可能某一天不再只有类型的,不再需要额外的类型判断。 作者:陈达孚 香港中文大学研究生,《移动Web前端高效开发实战》作者之一,《前端开发者指南2017》译者之一,在中国前端开发者大会,中生代技术大会等技术...

    jokester 评论0 收藏0
  • 2020年如何写一个现代JavaScript库

    摘要:我写过一些开源项目,在开源方面有一些经验,最近开到了阮老师的微博,深有感触,现在一个开源项目涉及的东西确实挺多的,特别是对于新手来说非常不友好最近我写了一个,旨在从多方面快速帮大家搭建一个标准的库,本文将已为例,介绍写一个开源库的知识 我写过一些开源项目,在开源方面有一些经验,最近开到了阮老师的微博,深有感触,现在一个开源项目涉及的东西确实挺多的,特别是对于新手来说非常不友好 show...

    joyqi 评论0 收藏0
  • 本命年一定要记得穿红裤衩:2015年总结

    摘要:年终总结结果到这个时间才写,其实也是无奈。这一年最重要的事情就是顺利从一只学生狗转职为一只社畜。四月份毕业之后以前端工程师的职位入职天猫,到现在也差不多工作一年了。 年终总结结果到这个时间才写,其实也是无奈。本来计划过年写的,没想到Steam竟然开了个农历春节特惠,然后就被各种游戏打了,辣鸡平台,敛我钱财,颓我精神,耗我青春,害我单身 以下全都是个人看法,如果有不认同的地方,请大吼一声...

    AlienZHOU 评论0 收藏0
  • 本命年一定要记得穿红裤衩:2015年总结

    摘要:年终总结结果到这个时间才写,其实也是无奈。这一年最重要的事情就是顺利从一只学生狗转职为一只社畜。四月份毕业之后以前端工程师的职位入职天猫,到现在也差不多工作一年了。 年终总结结果到这个时间才写,其实也是无奈。本来计划过年写的,没想到Steam竟然开了个农历春节特惠,然后就被各种游戏打了,辣鸡平台,敛我钱财,颓我精神,耗我青春,害我单身 以下全都是个人看法,如果有不认同的地方,请大吼一声...

    xi4oh4o 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<