描述:基石开发指南-依赖,创建发布
开发指南
为了编辑和重建基石,您需要安装Node.js。一旦你有了节点。安装了js和npm包管理器,您可以使用它们来安装项目的依赖项并运行通用开发任务。
常见任务
安装的依赖关系
npm install
注意: 安装/更新依赖项应该在git存储库的每次更新之后执行。如果不执行此操作,您可能会在开发过程中遇到问题。
运行构建
npm start
运行构建将创建库的缩小版本和未缩小版本,以及它们关联的源映射。
在每次源更改后自动运行构建
npm run watch
如果您想调试问题或向源代码添加新特性,可以使用此命令。
开发服务文件
有许多方法可以运行简单的HTTP服务器。你也可以用 'python -m simplehttpserver 8080'.
安装 'http-server' package:
``` bash npm install http-server -g ```
注意: 您可能需要使用sudo进行全局安装
运行服务器
``` bash http-server ```
在浏览器打开 http://127.0.0.1:8080/example/index.html 加载示例.
注意:如果您想在移动设备上使用它们,请启动HTTP服务器并导航到计算机的IP (e.g. http://192.168.1.11:8080/example/index.html)
运行和调试测试
npm test
运行测试时,将创建一个“覆盖率”目录。注意,这个目录并不存在于主存储库中,因为它仅仅是一个构建工件。如果你在“覆盖率/ HTML /索引”下打开HTML文件。使用web浏览器(不需要HTTP服务器),您将能够查看和检查测试覆盖报告。
[图片上传失败...(image-fd2c72-1533799488283)]
启动测试之后,还可以在web浏览器中导航到http://0.0.0.0:9876/debug,通过Karma测试运行器调试测试。注意,这个URL不会立即工作,因为 npm test
的第一步是重新构建库。
Running code linting 运行代码检查
npm run eslint# 或者包括自动修复:npm run eslint-fix# 或自动修复“测试”目录:npm run eslint-fix-test
运行上面的命令将检查linting问题的源代码。
通过Pull request提交更改
如果您已经对源代码进行了更改,并且您认为该更改应该包含在主存储库中,那么您可以通过创建[Pull Request]将其返回给社区(https://github.com/cornerstonejs/cornerstone/pulls). 请创建一个相关的Issue来描述您正在解决的问题/您正在添加的特性,以便库维护人员可以就这些更改是否适合存储库给出反馈。您的bug修复/新特性可能会更好地在另一个库中实现(例如Cornerstone Tools)。在提交pull request之前,请确保所有测试都通过,并且您已经运行了ESLint并修复了任何问题。
开发工具链和规范
Cornerstone依赖许多开放源码工具、组件和免费服务来确保质量
常规
Babel 用于从下一代JavaScript到更广泛支持以前的JavaScript黑白棋的转换
WebPack 包项目
ESLint 用于执行代码样式并维护质量
NPM 用于托管可安装包。 参见Cornerstone Core on NPM
Semantic Versioning用于库的版本控制。
keep a changelog用于更改日志的格式。
测试
Karma 作为测试者
Mocha用作测试框架
Chai 用于测试断言
Istanbul 用于报告代码覆盖率
Travis CI 用于自动运行测试. 参见Cornerstone Core on Travis CI
Coveralls用于显示自动测试后的代码覆盖率。参见 Cornerstone Core Coveralls Test Coverage
Headless Chrome 用于运行无头测试。
文档
JSDoc 格式化用于记录源代码。
documentation.js 用Markdown从JSDoc注释生成API文档
GitBook 将标记文档转换为HTML
Github Pages 主机的文档
Cloudflare 被放置在Github页面前面,以通过HTTPS提供文档。
Rawgit 用于从存储库服务 Live Examples 。我们还打算将其转换为使用Github页面托管。
写作测试
以下是一些关于写作测试的一般提示,可能会有用:
测试必须在“test”目录中。请尽量确保它们遵循“src”目录布局
测试文件名必须以"_test.js"结束
"coverage_test.js"文件确保了所有的文件都遵从Istanbul规则,这样代码覆盖报告就可以被用来探索整个存储库。
Do not convert 'function ()' to arrow functions (i.e. '=> {}') within the 'it', 'should', or 'describe' blocks or Mocha will fail to run the tests properly.
*不要将'it', 'should',或'describe'的块或Mocha中的 “function()”转换为指向 functions(i.e. '=> {}')的函数,否则将无法正常运行测试。
发布一个新版本
确保你有来自master的最新提交
根据自上次发布以来的更改范围确定需要进行的版本更改。
更新 changelog
一定要感谢任何代码贡献者!
更新“package.json”中的包和依赖版本
构建版本更新:
npm run version
运行构建:
npm run build
提交更改
git commit -am "Bump version <version>"
用版本号和标题标记提交
git tag -a "<version>" -m "Version <version>"
用版本号推动提交到master
git push origin master --tags
发布到NPM:
npm publish
更新gitbook文档
如果这是你的第一次
确保你已经在全球范围内安装了gitbook-cli了,如果没有,运行:
npm install -g gitbook-cli
进入/docs文件夹:
gitbook install
更新文件和部署
在根文件夹运行:
npm run docs# 将通过livereload提供文档到http://localhost:4000/
更改所需的文档,确保一切正确
为了部署,运行:
npm run docs:deploy
作者:tata_a79c
链接:https://www.jianshu.com/p/965940331ae6
共同学习,写下你的评论
评论加载中...
作者其他优质文章