tma-cli
tma
是字节跳动小程序官方提供的命令行工具
安装
建议在全局安装 tma
npm install -g tt-ide-cli
使用
设置全局配置
主要用于配置工具的全局代理
命令行使用
Usage: tma set-config [options]
Set tt-ide-cli config
Options:
--proxy <proxy> Set global proxy(配置全局代理)
--default Use default(恢复为默认配置)
代码调用
const tma = require('tt-ide-cli');
await tma.setConfig({
proxy: 'http://127.0.0.1:8899';
});
创建新项目
在当前目录下,以给定的项目名字创建一个空白的小程序项目
命令行使用
Usage: tma create [options] <project-name>
Create a new project with given name in current folder
Options:
-f, --force Overwrite target directory if it exists
代码调用
const tma = require('tt-ide-cli');
await tma.create({
projectName: 'projectName',
force: false,
template: 'rich',
targetDir: 'targetDir',
});
打开已有项目
在小程序开发者工具中打开给定目录的项目,如果给定的目录不存在,则仅打开开发者工具
命令行使用
Usage: tma open <project-path>
Open target project by path
代码调用
const tma = require('tt-ide-cli');
await tma.open({
project: {
path: 'projectPath',
},
});
登录
登录到开发者平台
命令行使用
Usage: tma login [options]
Login to the developer platform
Options:
-m, --mobile Login by mobile
-e, --email Login by email
-p, --proxy <proxy> Login with proxy
-h, --help output usage information
通过 email 登录
命令行使用
Usage: login-e [email] [password]
Login to the developer platform by E-mail
Options:
-p, --proxy <proxy> Login with proxy
-h, --help Output usage information
代码调用
const tma = require('tt-ide-cli');
await tma.loginByEmail({
email: 'email',
password: 'password',
});
预览小程序
将项目上传后,扫码二维码来预览小程序。
命令行使用
Usage: cli preview [options] [entry]
Preview project by remote
Options:
--disable-cache Preview project without local cache
-s, --small Use small QR Code, it may fail in some environments
-c, --copy Copy remote url to clipboard
-p, --proxy <proxy> Preview with proxy
--miniapp-path <path> Miniapp path
--miniapp-query <query> Miniapp query
--miniapp-scene <scene> Miniapp scene
--miniapp-launch-from <launchFrom> Miniapp launchFrom
--miniapp-location <location> Miniapp location
--qrcode-output <qrcodeOutputPath> Qrcode output path
代码调用
const tma = require('tt-ide-cli');
interface ProjectQRCode {
expireTime: number;
shortUrl: string;
originSchema: string;
qrcodeSVG?: string;
qrcodeFilePath?: string;
useCache: boolean;
}
const previewResult: ProjectQRCode = await tma.preview({
project: {
path: 'projectPath',
},
page: {
path: '',
query: '',
scene: '',
launchFrom: '',
location: '',
},
qrcode: {
format: 'imageSVG',
output: '',
options: {
small: false,
},
},
cache: true,
copyToClipboard: true,
});
上传项目
把项目上传到开发者平台进行发布
命令行使用
Usage: tma upload [options] [entry]
Upload project to the developer platform
Options:
--app-version <appVersion> App version (eg: [major].[minor].[patch])
--app-changelog <appChangelog> Changelog for this version
-p, --proxy <proxy> Update request proxy
-cp, --copy Copy remote url to clipboard
--qrcode-output <qrcodeOutputPath> Qrcode output path
代码调用
const tma = require('tt-ide-cli');
interface ProjectQRCode {
expireTime: number;
shortUrl: string;
originSchema: string;
qrcodeSVG?: string;
qrcodeFilePath?: string;
useCache: boolean;
}
const uploadResult: ProjectQRCode = await tma.upload({
project: {
path: 'projectPath',
},
qrcode: {
format: 'imageSVG',
output: '',
options: {
small: false,
},
},
copyToClipboard: true,
changeLog: 'changelog',
version: '1.0.0',
needUploadSourcemap: true,
});
小程序提审
小程序提审(复用前一次提审图片)
命令行使用
Usage: tma audit [options] [appid]
Audit project in the developer platform
Options:
--host <hosts> Host Apps(eg: douyin,toutiao,tt_lite)
--auto-publish <boolean> Auto Publish After Audit
tma audit --host douyin,toutiao,tt_lite tt07e3715e98c9xxxx
代码调用
const tma = require('tt-ide-cli');
await tma.audit({
appid: '',
host: [],
autoPublish: true,
});
获取小程序信息
命令行使用
Usage: tma get-meta [options] [appid]
Get appid meta
代码调用
const tma = require('tt-ide-cli');
interface MiniappMetaInfo {
version: String;
}
const metaResult: MiniappMetaInfo = await tma.getMeta({
appid: 'appid',
});
构建 NPM
对应开发者工具 构建 NPM 功能
命令行使用
Usage: tma build-npm [options]
Build npm
Options:
--project-path Project path
代码调用
const tma = require('tt-ide-cli');
await tma.buildNpm({
project: {
path: 'projectPath',
},
});