Code Monkey home page Code Monkey logo

outdocs's Introduction

简介

这是一款可通过注释块自动输出 js 方法说明文档的babel插件。

功能

基于babel-AST,通过AST树遍历注释块,并将注释块转为说明文档内容输出md文件。

使用

获取代码

先将代码 clone 到本地(由于未发布该插件,所以直接把代码放到本地使用)

git clone [email protected]:DemoJj/outDocs.git

安装相关依赖

npm install 
// 或 cnpm i

配置.babelrc文件

属性 介绍
outDirName 输出所放文件夹的名称
gather 集合所有文档,集合后输出文件的名称
// .babelrc
{
    "plugins": [["./plugins.js", {
      "outDirName": "demoRme",
      "gather": "common" // 集合所有文档,并设定common为文件名
    }] ]
    // "plugins": ["./plugins.js"]
  }

注释块介绍

属性 介绍 备注
@out 含有则输出该函数文档,否则不输出
@description 函数描述
@param 函数参数 { 'string': '字符串','number': '数值','array': '数组','object': '对象'}
@returns 函数返回内容
/** @out
 * @description 测试方法
 * @param {string} a 参数一
 * @param {number} b
 * @returns {void}
 */
function square(n) {
    return n * n;
}

使用方案

  • 方案1(babel)

在命令行中执行以下命令:

npx babel test/test.js
  • 方案2(rollup)(可深度输出)

a. 在根目录下新建 rollup.config.js 文件:

// rollup.config.js
import babel from 'rollup-plugin-babel';
import clear from 'rollup-plugin-clear';
export default {
   input: './test/test.js',
   plugins:[
       clear({
           targets: ['./demoRme']
       }),
       babel()
   ]
}

b.在命令行中执行以下命令:

rollup -c

效果

a. 方案1(babel)默认生成目录:

在这里插入图片描述

b. 方案2(rollup)默认生成目录:

在这里插入图片描述

c.配置生成目录:

在这里插入图片描述

d.输出文档显示内容:

在这里插入图片描述

源码: 【点此进入】

outdocs's People

Contributors

demojj avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.