kernel / craft-on-ddev
Craft on DDEV
README
Docker化的Craft CMS本地开发,预配置了Vite并在DDEV上构建。
特性
- DDEV:在Docker环境中进行本地开发,无需额外配置即可使用
- Vite:开发时支持热重载和实时预览,生产时进行资产优化和打包
- Tailwind 3.x:基于功能的CSS工具库,以及Alpine:轻量级的响应式库
安装
一、开始安装
在继续之前,请确保已安装Docker、DDEV和Composer。
- Docker桌面版 - 访问docker.com/get-started
- DDEV - 访问ddev.com/get-started/
- Composer - 您可以访问getcomposer.org/,但如果您使用macOS并且已经运行了Homebrew,只需运行
brew install composer
。
完成上述步骤后,打开终端并运行
composer create-project kerns/craft-on-ddev <YOUR PATH HERE> --no-install && cd <YOUR PATH HERE>
请确保<YOUR PATH HERE>
是您想要使用的新或现有空目录的位置。
尽管不是必需的,但给此目录命名为您的期望DDEV子域名将是一个好主意(并允许您跳过步骤2)。例如,命名为my-website
的目录在步骤3中将预配置为使用https://my-website.ddev.site
。
二、配置DDEV(可选)
如果您的根目录名称与您期望的DDEV子域名相匹配,您可以跳过此步骤。
如果您需要本地DDEV域名与该项目根目录名称不同,请在该目录内运行以下命令
ddev config
按照提示操作。
- 项目名称:
my-test-site
将创建一个项目URL为https://my-test-site.ddev.site
- Docroot位置: 默认为
web
,应保持不变 - 项目类型: 默认为
php
,应保持不变
三、安装
要安装Craft、Vite和几个支持插件,请运行以下命令并按照提示操作。
make install
这构建了一个合理的、Docker化的开发环境,运行最新版本的Craft CMS。它还安装了在composer.json.default
中定义的Craft插件集合。你可以根据需要编辑/扩展此列表,只需记得在运行make install
之前在Makefile
中反映这些选择。
特别注意Craft安装提示。设置管理员账户凭据后,您将需要输入您想要的站点名称和URL。
站点名称可以是任何内容,可以包含空格和大小写字母,不需要与项目的根文件夹名称或DDEV域名相对应。
站点URL如果建议的默认URL不可接受,请使用完整URL回答提示(😎例如:https://my-website.ddev.site
)
_💡如果您不清楚项目的URL,请在同一目录下打开另一个终端窗口并运行ddev describe
。
使用方法
开发
使用以下命令启动Vite以进行HMR和实时重新加载:
make dev
编辑templates/
目录中的默认index.twig
文件,以确认更改正在推送到浏览器。
💡运行ddev launch
以在默认浏览器中打开Craft项目的域名。与所有特定于项目的DDEV命令一样,它可以从项目的根目录下的任何位置运行。
为生产构建
使用以下命令生成站点的生产就绪构建:
make build
捆绑并导出用于生产的资源(默认位置为/web/dist/
)。
其他Makefile命令
make up
- 确认DDEV项目正在运行。如果需要,重新构建容器并推送SSH凭据。make install
- 运行一个完整的一次性过程来设置项目并安装Craftmake composer <command>
- 在容器中运行Composer命令,例如:make composer install
make craft <command>
- 在容器中运行Craft命令,例如:make craft project-config/touch
make npm <command>
- 在容器中运行npm命令,例如:make npm install
make pull
- 拉取远程数据库和资源(需要设置craft-scripts)
有用的DDEV命令
ddev start
、ddev stop
、ddev restart
、ddev import-db
、ddev describe
和ddev poweroff
是使用DDEV时最实用的命令之一。它们可以从项目的根目录下的任何目录运行。
包含的Craft CMS插件
以下插件是默认安装的
要添加或删除安装中的插件,请在运行make install
之前编辑composer.json
。请记得在Makefile
中反映这些选择。
💡注意,一些插件需要将额外的配置文件添加到您的/config
目录。
包含的Tailwind插件
包含的JavaScript库
路线图
Tailwind 3精简插件升级php, mariadb + node包含最有用的DDEV命令- 改进默认错误页面布局
致谢与鸣谢
基于1DR的优秀Craft CMS Starter。请阅读1DR的鸣谢!着陆页背景感谢svgbackgrounds.com和@MattVisiwig 🙏。