Giter Club home page Giter Club logo

v3test's Introduction

插件开发说明

中文 | English

Serverless Devs 组件开发需要严格遵守 Serverless Package Model 中的 组件模型规范。在组件模型规范中有关于组件模型元数据组件模型代码规范的说明。

🐵 温馨提示,在进行 Serverless Devs 的组件开发时,可能会遇到很多相对来说更为通用的能力,包括不限于:

  • 获取用户的密钥信息
  • 进行更规范的格式化输出
  • 对用户的输入参数进行解析
    ......
    这些内容都可以通过 Serverless Devs 所提供的 Core包 进行提供,更多 Core包 信息,可以参考 Core包的开发文档

Serverless Devs的组件开发案例已经被集成到Serverless Devs命令行工具中,通过对Serverless Devs的命令行工具,可以进行空白组件项目的初始化,开发者只需要执行s init即可看到:

🚀 Serverless Awesome: https://github.com/Serverless-Devs/package-awesome

? Hello Serverless for Cloud Vendors (Use arrow keys or type to search)
❯ Alibaba Cloud Serverless 
  AWS Cloud Serverless 
  Tencent Cloud Serverless 
  Baidu Cloud Serverless 
  Dev Template for Serverless Devs 

此时,选择最后的Dev Template for Serverless Devs,并按回车:

$ s init

🚀 Serverless Awesome: https://github.com/Serverless-Devs/package-awesome

? Hello Serverless for Cloud Vendors Dev Template for Serverless Devs
? Please select an Serverless-Devs Application (Use arrow keys or type to search)
❯ Application Scaffolding 
  Component Scaffolding 

此时,选择Component Scaffolding,并按回车,即可完成一个完整的Serverless Devs的Component项目的初始化,可以通过命令查看文件树:

$ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
.
|____LICENSE
|____.signore
|____example
| |____s.yaml
|____readme.md
|____publish.yaml
|____.gitignore
|____package.json
|____tsconfig.json
|____src
| |____common
| | |____entity.ts
| | |____logger.ts
| |____index.ts

这其中:

目录 含义
LICENSE 项目默认的LICENSE,默认的LICENSE是遵循MIT开源协议的(推荐)
.signore 项目发布时,可以选择的忽略文件,类似于npm发布是的.npmignore文件
example 该组件对应的测试应用
publish.yaml 项目所必须的文件,Serverless Devs Package的开发识别文档
.gitignore 推送到Github的忽略文件
package.json Node.js的package.json,需要描述清楚组件的入口文件位置
tsconfig.json Typescript的tsconfig.json,用来对TS项目进行描述等
src 用户的代码目录
readme.md 版本的描述,例如当前版本的更新内容等

此时,开发者可以在src下完成业务代码的开发,由于默认的初始化项目是Typescript,所以开发完成业务代码还需要编译成Javascript(可以通过npm run build进行编译),在完成项目编译之后,还需要对项目进行publish.yaml文件的编写。完成之后,即可将项目发不到不同的源,以Github Registry为例,可以在Github创建一个Public的仓库,并将编译后的代码放到仓库,并发布一个版本。此时,就可以通过客户端获取到该应用。

v3test's People

Contributors

xsahxl avatar

Watchers

 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.