leeroy / craft-starter-twig
Craft CMS入门级模板,包含DDEV和Vite配置
Requires
- craftcms/aws-s3: 2.0.1
- craftcms/cms: ^4.2.7
- craftcms/redactor: 3.0.2
- nystudio107/craft-seomatic: ^4.0
- nystudio107/craft-vite: ^4.0
- vlucas/phpdotenv: ^5.4.0
Requires (Dev)
- yiisoft/yii2-shell: ^2.0.3
This package is auto-updated.
Last update: 2024-09-10 22:36:36 UTC
README
基于Vite的Twig入门级模板,可选Web组件和Barba.js页面过渡
本地机器必备条件
使用此模板创建新项目
- 打开终端提示符,然后运行
composer create-project leeroy/craft-starter-twig PATH --no-install
- 编辑.ddev/config.yaml文件并更改
name
(如果需要,还可以更改php_version
或database
)。 - 然后,为了安装Craft的干净版本,运行
make install
- 按照提示操作(DDEV帮助填充了.env文件)
一旦过程完成,键入make dev
以开始开发项目。 🚀
上面的命令将自动执行以下操作
- 将您的本地SSH密钥复制到容器中
- 启动您的DDEV项目
- 安装Composer
- 安装yarn
- 一次性构建Vite
- 生成
APP_ID
并将其保存到您的.env
文件中 - 生成
SECURITY_KEY
并将其保存到您的.env
文件中 - 首次安装Craft,允许您设置管理员的账户凭证
- 安装所有Craft插件
在现有项目上开发
make dev
上面的命令将自动执行以下操作
- 将您的本地SSH密钥复制到容器中
- 启动您的DDEV项目
- 安装Composer
- 安装yarn
- 一次性构建Vite
- 启动Vite开发服务器
- 输出
ddev describe
以显示项目域名 - 打开浏览器(针对MacOS用户)
打开浏览器到您的项目域名(例如xxxx.ddev.site
),以验证Vite是否连接。开始创作美丽的事物。 ❤️
数据库
使用以下命令导出数据库
ddev export-db > ./dumpfile.sql.gz
使用以下命令导入数据库
ddev import-db < dumpfile.sql.gz
您还可以使用DDEV包含的phpMyAdmin进行数据库导入——但请注意,它要慢得多。
Makefile
Makefile被包含在内,以提供对常见开发命令的统一CLI。
make install
- 运行一次完整过程,设置项目和安装Craft。make boot
- 启动DDEV项目,确保已添加SSH密钥,并且已安装npm和Composer。make up
- 运行Craft命令以清除缓存并加载yaml配置文件。它还在运行make dev
命令时执行make dev
- 运行所有前端资源的一次性构建,然后启动Vite的服务器以进行HMR。make build
- 构建所有前端资源。make composer xxx
- 在容器内运行Composer命令,例如make composer install
make craft xxx
- 在容器内运行Craft命令,例如make craft project-config/touch
make yarn xxx
- 在容器内运行yarn命令,例如make yarn install
DDEV
确保此时没有其他任何内容正在运行(Apache或其他基于Docker的环境)。
关闭Lando
lando poweroff
前端
所有设置都已就绪,以便在开发过程中和每次提交之前美化代码和进行代码检查。
请确保通过点击提示窗口中的“安装”,或在命令面板(Cmd/CTRL + Shift + P
)中搜索<强>扩展 > 显示推荐扩展强>来安装推荐的扩展。
<强>EditorConfig强>和<强>Prettier强>用于应用格式化规则(缺少分号、多余的空格等)
<强>ESLint强>和<强>Stylelint强>用于检查代码质量(未使用的变量、无法到达的代码等)
附加内容
如果您需要交互性,可以考虑使用Web组件或Sprig插件。
您可以使用Xdebug轻松调试PHP代码,只需按照说明设置您的IDE。
然后,使用ddev xdebug on
和ddev xdebug off
来开启或关闭Xdebug。
感谢
感谢onedarnleyroad/craftcms为我们这个入门项目提供了一些很好的想法(makefile等)。