codecamp

Taro 贡献指南

我们非常欢迎社区的开发者向 Taro 做出贡献。在提交贡献之前,请花一些时间阅读以下内容,保证贡献是符合规范并且能帮助到社区。

Taro 组成

NPM 包 描述
​@tarojs/taro​ Taro 运行时框架
@tarojs/taro-h5 Taro H5 运行时框架
@tarojs/taro-rn Taro React Native 运行时框架
@tarojs/taro-weapp Taro 微信小程序运行时框架
@tarojs/taro-swan Taro 百度智能小程序运行时框架
@tarojs/taro-tt Taro 字节跳动小程序运行时框架
@tarojs/taro-alipay Taro 支付宝小程序运行时框架
@tarojs/taro-qq Taro QQ 小程序运行时框架
@tarojs/taro-quickapp Taro 快应用 运行时框架
@tarojs/redux Taro 小程序 Redux 支持
@tarojs/redux-h5 Taro H5 Redux 支持
@tarojs/redux-rn Taro React Native Redux 支持
@tarojs/mobx-common Taro MobX 公共模块
@tarojs/mobx Taro 小程序 MobX 支持
@tarojs/mobx-h5 Taro H5 MobX 支持
@tarojs/mobx-rn Taro React Native MobX 支持
@tarojs/router Taro H5 路由
@tarojs/async-await 支持使用 async/await 语法
@tarojs/cli Taro 开发工具
@tarojs/transformer-wx Taro 小程序转换器
@tarojs/taroize Taro 小程序编译器
@tarojs/taro-rn-runner Taro React Native 打包编译工具
@tarojs/webpack-runner Taro H5 端 Webpack 打包编译工具
@tarojs/components Taro 标准组件库,H5 版
@tarojs/components-rn Taro 标准组件库,React Native 版
@tarojs/components-qa Taro 标准组件库,快应用 版
@tarojs/plugin-babel Taro Babel 编译插件
@tarojs/plugin-sass Taro Sass 编译插件
@tarojs/plugin-less Taro Less 编译插件
@tarojs/plugin-stylus Taro Stylus 编译插件
@tarojs/plugin-csso Taro CSS 压缩插件
@tarojs/plugin-uglifyjs Taro JS 压缩插件
eslint-config-taro Taro ESLint 规则
eslint-plugin-taro Taro ESLint 插件

Issue 报告指南

如果提交的是 Bug 报告,请务必遵守 Bug report 模板。

如果提交的是功能需求,请在 issue 的标题的起始处增加 [Feature request] 字符。

开发配置

你需要保证你的 Node.js 版本大于 8,把仓库 Clone 到本地。运行以下命令:

  1. $ npm install # or yarn
  2. $ npm run bootstrap

提交 commit

整个 Taro 仓库遵从 Angular Style Commit Message Conventions,在输入 commit message 的时候请务必遵从此规范。

代码风格

  • JavaScript:JavaScript 风格遵从 JavaScript Standard Style
  • TypeScript:TypeScript 风格也是 JavaScript Standard Style 的变种,详情请看相关包目录下的 tslint.jsontsconfig.json
  • 样式:遵循相关包目录下的 .stylelintrc 风格。

Pull Request 指南

  1. 务必保证 npm run build 能够编译成功;
  2. 务必保证提交到代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范;
  3. 当相关包的 package.json 含有 npm test 命令时,必须保证所有测试用例都需要通过;
  4. 当相关包有测试用例时,请给你提交的代码也添加相应的测试用例;
  5. 提交代码 commit 时,commit 信息需要遵循 Angular Style Commit Message Conventions
  6. 如果提交到代码非常多或功能复杂,可以把 PR 分成几个 commit 一起提交。我们在合并时会会根据情况 squash。

Credits

感谢以下所有给 Taro 贡献过代码的开发者:

CONTRIBUTING - 图1


Taro 加入社区共建
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }