注意 — 您不需要 bun create
来使用 Bun。您根本不需要任何配置。此命令的存在是为了让入门变得更快、更容易。
使用 bun create
为新的 Bun 项目创建模板。这是一个灵活的命令,可用于使用 create-<template>
npm 包、GitHub 仓库或本地模板创建新项目。
如果您希望创建一个全新的空项目,请使用 bun init
。
从 npm
bun create <template> [<destination>]
假设您没有同名的 本地模板,此命令将从 npm 下载并执行 create-<template>
包。以下两个命令的行为将完全相同
bun create remix
bunx create-remix
有关完整文档和使用说明,请参阅关联的 create-<template>
包的文档。
从 GitHub
这会将 GitHub 仓库的内容下载到磁盘。
bun create <user>/<repo>
bun create github.com/<user>/<repo>
可以选择为目标文件夹指定一个名称。如果未指定目标,将使用仓库名称。
bun create <user>/<repo> mydir
bun create github.com/<user>/<repo> mydir
Bun 将执行以下步骤
- 下载模板
- 将所有模板文件复制到目标文件夹
- 使用
bun install
安装依赖项。 - 初始化一个新的 Git 仓库。使用
--no-git
标志退出。 - 如果已定义,运行模板配置的
start
脚本。
默认情况下,Bun 不会覆盖任何现有文件。使用 --force
标志覆盖现有文件。
从本地模板
⚠️ 警告 — 与远程模板不同,使用本地模板运行 bun create
会删除整个目标文件夹(如果已存在)!小心使用。
Bun 的模板化程序可以扩展,以支持在本地文件系统上定义的自定义模板。这些模板应位于以下目录之一中
$HOME/.bun-create/<name>
:全局模板<project root>/.bun-create/<name>
:特定于项目的模板
注意 — 您可以通过设置 BUN_CREATE_DIR
环境变量来自定义全局模板路径。
要创建本地模板,请导航到 $HOME/.bun-create
并使用模板的所需名称创建一个新目录。
cd $HOME/.bun-create
mkdir foo
cd foo
然后,在该目录中创建一个 package.json
文件,其内容如下
{
"name": "foo"
}
您可以在文件系统的其他位置运行 bun create foo
,以验证 Bun 是否正确找到您的本地模板。
设置逻辑
您可以在本地模板的 package.json
的 "bun-create"
部分中指定安装前和安装后的设置脚本。
{
"name": "@bun-examples/simplereact",
"version": "0.0.1",
"main": "index.js",
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"bun-create": {
"preinstall": "echo 'Installing...'", // a single command
"postinstall": ["echo 'Done!'"], // an array of commands
"start": "bun run echo 'Hello world!'"
}
}
支持以下字段。每个字段都可以对应于一个字符串或字符串数组。将按顺序执行命令数组。
postinstall | 在安装依赖项后运行 |
preinstall | 在安装依赖项之前运行 |
在克隆模板后,bun create
会在将 "bun-create"
部分写入目标文件夹之前自动将其从 package.json
中删除。
参考
CLI 标志
标志 | 说明 |
---|---|
--force | 覆盖现有文件 |
--no-install | 跳过安装 node_modules 和任务 |
--no-git | 不要初始化 git 存储库 |
--open | 完成后启动并打开浏览器 |
环境变量
名称 | 说明 |
---|---|
GITHUB_API_DOMAIN | 如果您使用的是 GitHub 企业版或代理,则可以自定义 Bun ping 下载的 GitHub 域 |
GITHUB_ACCESS_TOKEN | 这允许 bun create 与私有存储库一起使用,或者如果您受到速率限制 |
bun create
的工作原理