Giter VIP home page Giter VIP logo

avoscloud-code-command's Introduction

介绍

Windows 系统用户请确保安装 Node.js 在系统盘 C 盘,否则命令行工具无法正常运行。

安装和更新请使用下列命令:

sudo npm install -g avoscloud-code

如果从 npm 安装失败,可以从 GitHub 安装:

sudo npm install -g  git+https://github.com/leancloud/avoscloud-code-command

详细的使用指南见 云代码命令行工具使用详解,更新日志见 changelog.md

说明

为了方便本地运行和调试云代码,请遵照下列步骤进行:

  • 要在本地调试云代码,你需要安装 Node.js 最新版本。
  • 运行命令:sudo npm install -g avoscloud-code 安装调试 SDK。以后更新升级也请执行此命令。
  • 在项目根目录运行 avoscloud,将启动本地调试服务器。
  • 访问 localhost:3000 即可访问到你的云主机代码,子路径按照你在 app.js 里配置的即可访问。
  • 访问 localhost:3000/avos 调试云代码函数和 class hook 函数等。

功能说明

avoscloud -h 输出:

  Usage: avoscloud [选项] <命令>

  有效的命令列表包括:
    deploy: 部署云代码到 LeanEngine 平台开发环境
    undeploy: 从 LeanEngine 平台清除云代码部署,包括生产环境和开发环境
    status: 查询当前部署状态
    search <keyword>: 根据关键字查询开发文档
    publish: 发布开发环境代码到生产环境
    new: 创建云代码项目
    logs: 查看云代码日志
    clear: 清除本地状态,在输入 app id 或者 master key 错误的情况下使用
    upload <file-or-directory>: 导入文件到 LeanCloud 平台,如果是目录,则会将该目录下的文件递归导入。
    app [list]: 显示当前应用,deploy、status 等命令运行在当前应用上,如果加上 list ,则显示所有的应用信息。
    checkout <app>: 切换到一个应用,deploy、status 等命令将运行在该应用上。
    add <app>: 添加一个应用。
    rm <app>: 移除一个应用。
    lint: 静态检查代码错误。
    cql: 进入 CQL 交互式命令行。
    redis: 进入 LeanCache Redis 交互式命令行。

  Options:

    -h, --help                 output usage information
    -V, --version              output the version number
    -f, --filepath <path>      本地云代码项目根路径,默认是当前目录。
    -g, --git                  使用定义在管理平台的 git 仓库或者 -u 指定的 git 仓库部署云代码,默认使用本地代码部署。
    -p, --project <app>        命令运行在指定应用上,默认运行在当前应用或者 origin 应用上。
    -l, --local                使用本地代码部署云代码,该选项是默认选中。
    -o, --log <log>            本次部署的提交日志,仅对从本地部署有效。
    -n, --lines <lines>        查看多少行最新的云代码日志,默认 10 行。
    -t, --tailf                自动刷新云代码日志,结合 logs 命令使用。
    -r, --revision <revision>  git 的版本号,仅对从 git 仓库部署有效。

并且本工具具有代码热加载功能。修改代码后,无需重启即可以调试最新代码。

上传代码时忽略部分文件

在使用命令行工具上传代码时,你可以在项目目录新建一个名为 .leanengineignore 的文件定义不需要上传的文件列表(编译产生的临时文件等在运行时不需要的文件)。它的语法类似于 .gitignore, 每行一个表达式,例如 **/node_modules/** 表示忽略任意层级下的 node_modules 目录,*.pyc 表示忽略拓展名为 pyc 的文件。

Bash Completion

下载 avoscloud_completion.sh 保存到某个目录,例如保存为 ~/.avoscloud_completion.sh,然后在 .bashrc 或者 .bash_profile 文件中添加:

source ~/.avoscloud_completion.sh

重启终端 bash,或者重新加载 profile 文件,就可以让 avoscloud 命令拥有自动完成功能。

cURL 调试

你也可以通过 cURL 工具来调试代码:

  • 测试函数:
curl -X POST -H 'Content-Type:application/json' \
    -d '{ "name": "dennis"}' \
    http://localhost:3000/avos/hello

其中 hello 是你通过 AV.Cloud.define 定义的函数名称。

  • 测试 beforeSaveafterSaveafterUpdatebeforeDeleteafterDelete 等:
curl -X POST -H 'Content-Type:application/json' \
     -d '{ "name": "dennis"}' \
	 http://localhost:3000/avos/MyUser/beforeSave

其中 MyUser 是 className,beforeSave 指定调用 MyUser 定义的 beforeSave 函数,其他函数类似。

安全性

部署、发布等命令在第一次运行的时候要求输入应用的 master key,您可以在 LeanCloud 平台的应用设置里找到 master key。输入后,命令行工具会将这个应用信息记录在 ~/.leancloud/app_keys 中(0600 文件权限模式)。如果您在认证过程中出现问题,或在公共机器上使用命令行工具,可运行 avoscloud clear 来删除认证信息。

贡献者

感谢下列用户提交的 Patch:

CopyRight

avoscloud-code-command's People

Contributors

aisk avatar gongt avatar gzzhanghao avatar jysperm avatar killme2008 avatar leeyeh avatar sdjcw avatar sparanoid avatar wanggc avatar wangxiao avatar

Watchers

 avatar  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.