命令 (Gatsby CLI)
Gatsby 命令行界面 (CLI) 是您用来初始化、构建和开发 Gatsby 站点的主要工具。
如何使用 gatsby-cli
要使用 Gatsby CLI,您必须
- 全局安装它,使用
npm install -g gatsby-cli,然后使用gatsby new语法执行命令,或者 - 直接使用
npx运行命令,然后使用npx gatsby new语法执行命令
有用的 Gatsby CLI 命令也已在 starters 中预定义为 run scripts。
API 命令
所有以下文档都可以通过运行 gatsby --help 在工具中获取。
new
运行一个交互式 shell,其中有一个提示,可以帮助您设置 CMS、样式系统和插件(如果需要)。
要创建新站点并使用提示,请执行
您也可以跳过提示,直接从 GitHub 克隆一个 starter。例如,要克隆一个新的 gatsby-starter-blog,请执行
第一个参数(例如 my-new-blog)是您的站点名称,第二个参数是要克隆的 starter 的 GitHub URL。
注意:站点名称只能包含字母和数字。如果您在名称中指定了
.、./或<space>,gatsby new将抛出错误。
develop
编译并运行您站点的开发版本,以便在浏览器中实时反映源代码的更改。应从项目根目录运行。
选项包括
| 选项 | 描述 |
|---|---|
-H, --host | 设置主机。默认为 localhost |
-p, --port | 设置端口。默认为 env.PORT 或 8000 |
-o, --open | 自动在您的(默认)浏览器中打开站点 |
-S, --https | 使用 HTTPS |
--inspect | 打开一个端口用于调试 |
--verbose | 开启详细输出 |
要设置 HTTPS,请遵循 本地 HTTPS 指南。
要包含一个可以从同一网络上的其他设备访问的 URL,请执行
您将看到以下输出
您可以使用“网络上的” URL 在网络内访问您的站点。
build
编译您的站点以用于生产,以便进行部署。应从项目根目录运行。
选项包括
| 选项 | 描述 |
|---|---|
--prefix-paths | 使用前缀路径构建站点(在您的配置中设置 pathPrefix) |
--no-uglify | 构建站点而不混淆 JS 包(用于调试) |
--profile | 使用 React profiling 构建站点。请参阅 使用 React Profiler 剖析站点性能 |
--open-tracing-config-file | 跟踪器配置文件(兼容 OpenTracing)。请参阅 性能跟踪 |
--graphql-tracing | 跟踪(见上文)每个 GraphQL 解析器,可能会影响性能。 |
--no-color, --no-colors | 禁用彩色终端输出 |
--verbose | 开启详细输出 |
除了这些构建选项外,还有一些可选的 构建环境变量 可用于更高级的配置,以调整构建运行方式。例如,将 CI=true 设置为环境变量将为 哑终端 定制输出。
serve
运行您站点的生产版本以在部署前进行测试。应从项目根目录运行。
选项包括
| 选项 | 描述 |
|---|---|
-H, --host | 设置主机。默认为 localhost |
-p, --port | 设置端口。默认为 9000 |
-o, --open | 自动在您的默认浏览器中打开站点 |
--prefix-paths | 如果使用 gatsby-config 文件中的 pathPrefix 构建,则运行带有前缀路径的站点。 |
info
显示有助于错误报告的环境信息。应从项目根目录运行。
选项包括
| 选项 | 描述 |
|---|---|
-C, --clipboard | 将环境信息复制到剪贴板 |
clean
删除 .cache 和 public 目录。应从项目根目录运行。
当本地项目出现问题或内容似乎未刷新时,这作为最后的手段很有用。这可能解决的常见问题包括
- 陈旧数据,例如此文件/资源/等未出现
- GraphQL 错误,例如此 GraphQL 资源应存在但不存在
- 依赖项问题,例如无效版本,控制台中出现模糊错误等
- 插件问题,例如开发本地插件但更改似乎未生效
repl
打开一个 Node.js REPL(交互式 shell),其中包含您的 Gatsby 环境的上下文。应从项目根目录运行。
Gatsby 会提示您输入命令并进行探索。当它显示 gatsby > 时,您可以输入以下命令之一来实时查看它们的值
babelrccomponentsdataPathsgetNodes()nodespagesschemasiteConfigstaticQueries
要退出 REPL
- 按
Ctrl+C或Ctrl+D两次,或 - 输入
.exit然后按Enter
与 GraphQL 浏览器 结合使用时,这些 REPL 命令对于理解您的 Gatsby 站点的数据可能非常有帮助。
禁用彩色输出
除了明确的 --no-color 选项外,CLI 还尊重 NO_COLOR 环境变量(请参阅 no-color.org)。
如何更改下一个项目的默认包管理器?
当您第一次使用 gatsby new 创建新项目时,会要求您在 yarn 和 npm 之间选择默认包管理器。
一旦做出选择,CLI 就不会再询问您后续项目的偏好。如果您想更改偏好,有两种方法可以更改下一个项目的默认包管理器
使用 CLI 的 options 命令
您可以使用 gatsby options 命令来更改默认包管理器。
| 参数 | 描述 |
|---|---|
| key | 设置 gatsby new 使用的包管理器。选择:pm,package-manager |
| value | 将包管理器设置为 npm 或 yarn。 |
要将默认包管理器设置为 yarn,您需要运行
编辑配置文件
您还可以通过编辑 CLI 自动创建的配置文件来手动更改默认包管理器。此文件在您的系统上位于:~/.config/gatsby/config.json
在其中您会看到类似这样的内容。
编辑您的 packageManager 值,保存后,您就可以为下一个使用 gatsby new 的项目进行操作了。