创建一个 matman 应用,或者你可以添加自己的模板进行创造。
- 快速开始-如何创建一个最简单的新应用
create-matman-app 适用于 macOS、Windows 和 Linux。
如果 create-matman-app 不能正常工作,请提交 issue。
$ npx create-matman-app new my-app
$ cd my-app
$ npm test
如果你以前通过全局安装 create-matman-app,我们建议您卸载全局安装包,使用 npx 确保使用最新版本。
$ npm uninstall -g create-matman-app
# or
$ yarn global remove create-matman-app
目前只有 new 与 info 两个子命令
--help
:显示帮助信息--version
:显示 CLI 工具版本--verbose
:打印详细日志
$ create-matman-app new <project-name> [options]
- project-name 为必需字段,指定文件夹名称
--template
:指定需要的模板--use-yarn
:强制使用 YARN
info
命令将答应你的工作环境,如下:
➜ ~ create-matman-app info
Environment Info:
current version of create-matman-app: 0.0.2
running from ~/Documents/Project/create-matman-app/packages/create-matman-app
System:
OS: macOS 10.15.6
CPU: (8) x64 Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
Binaries:
Node: 12.16.3 - ~/.nvm/versions/node/v12.16.3/bin/node
Yarn: Not Found
npm: 6.14.7 - ~/.nvm/versions/node/v12.16.3/bin/npm
自定义模板允许你可以从自己的模板创建应用,并且保留 create-matman-app 的全部功能。
自定义模板应该以 cma-template-[template-name]
命名并发布在 NPM 上,但是其实你只需要向 create-matman-app [template-name]
,便可以执行安装。
我们同样支持私有域的 NPM 包进行安装,命名可以是下面这些:@[scope-name]/cma-template
、@[scope-name]/cma-template-[template-name]
、@[scope]
、@[scope]/[template-name]
。
npx create-matman-app my-app --template [template-name]
默认情况下,我们提供两个模板:
你也可以在 NPM 上通过 cma-template-* 进行搜索
如果对构建自定义模板感兴趣,请先了解一下 cma-template
。
模板必须具有以下结构:
cma-template-[template-name]/
README.md (for npm)
template.json
package.json
[init.js]
template/
README.md (for projects created from this template)
gitignore
public/
index.html
src/
index.js (or index.tsx)
若要在本地测试,请使用 file://
前缀将文件路径传递给 create-matman-app。
npx create-matman-app my-app --template file:../path/to/your/template/cma-template-[template-name]
此文件夹在 create-matman-app 安装时将复制到用户的应用目录,您可以在这里添加所需的任何文件。
这是 template 的配置文件。
目前只支持 package 字段,该字段为你想要添加到 package.json
中的所有内容,如:scripts
等。
下面是一个 template.json
的示例文件:
{
"package": {
"scripts": {
"build": "matman build",
"build-dev": "matman build --dev",
"test": "mocha",
"test:show": "cross-env SHOW_BROWSER=1 npm run test"
},
"dependencies": {
"matman": "^6.0.15",
"matman-runner-puppeteer": "^6.0.15"
},
"devDependencies": {
"chai": "^4.2.0",
"cross-env": "^7.0.2",
"matman-cli": "^6.0.15",
"mocha": "^8.0.1"
}
}
}
如果存在这个文件我们将不复制 template 文件夹中的内容,而是执行这个脚本中的内容,需要注意的是:
temlate.json
作为模板的配置文件是一定需要存在的init.js
必须暴露为一个函数
Create Matman App 使用 MIT 开源协议。