发布模块
发布模块#
在创建一个模块并确定该模块将被其他开发人员使用之后。您可以将您的模块推送到 github, gitlab 或 bitbucket,然后您可以将您的模块提交到 packagist 网站。
你可以按照这个步骤发布你的模块。
- 创建一个模块。
- 确保你在
composer. js
中提到了模块的type
。将这个模块转换为laravel-module
- 将模块推送到 github, bitbucket, gitlab 等。确保存储库名称遵循约定,然后它将自动移动到正确的目录。仓库的名称应该类似于
<namespace>/<name>-module
,最后是-module
。例如: “https://github.com/nWidart/article-module"。 这个模块将被安装在module/Article
目录下。 - 将你的模块提交到 packagist 网站。
提交到 packagis t 非常简单,只需要提供你的 github 仓库,点击提交就可以了。
模块是否已经安装在 modules /
文件夹中#
发布的模块可以像其他 composer 包一样安装。在任何 Laravel 项目中,请按照说明安装 nwidart/ Laravel -modules 包,然后您可以安装自己的模块。你需要做的是将模块安装到项目的 Modules
目录中。
额外的步骤是安装一个额外的 composer 插件 joshbrw/laravel-module-installer ,它将自动移动模块文件。如果你需要安装 modules
目录以外的模块,请将以下内容添加到你的 composer.json 模块中。
"extra": {
"module-dir": "Custom"
}
安装 composer 插件后,现在要安装模块,您必须像使用其他常规包一样使用 composer 命令
composer require nwidart/article-module
深入了解#
重要
为了仅将单个模块发布到 GIT,模块需要直接独立。在项目中处理模块,当它准备好转换为包时,将模块提取到自己的文件夹中,并将模块重命名为全部小写,并确保末尾有 - module。例如,一个名为 Quotes
的模块将被重命名为 quotes-module
。
GIT#
现在是时候设置 GIT 了。
通过在终端中输入以下命令来初始化 git:
git init
这将创建一个新的 git 实例。
然后添加所有文件并提交:
git add .
git commit -m 'first commit'
从这现在开始,您所做的任何更改都可以提交到 GIT。
在 BitBucket 上设置仓库#
Bitbucket 中需要创建存储库单击侧边栏中的 + 按钮,然后单击 repository。网址是 bitbucket.org/repo/create
输入项目和存储库名称。以 quotes-module
的格式命名仓库。
对于分支输入 main
,对于 git .ignore 选择 No,你不希望生成任何文件。
在 GIT 中添加远程源,回到包中,在终端中输入用模块名称替换引号。还要更改用户名以匹配您自己的用户名。
这将连接 Bitbucket 到包。
git remote add origin git@bitbucket.org:username/quotes-module.git
上传包的方式:
git push -u origin main
这只是第一次需要,之后可以使用 git push
来推送更改。
现在模块已经作为包推送到 Bitbucket,可以安装到其他项目中。
在 GitHub 上建仓库#
需要在 GitHub 上创建一个仓库,访问 github.com/new
输入存储库名称。以 quotes-module
的格式命名仓库
不要勾选任何初始化此存储库的复选框,您不希望生成任何文件。
单击 “创建存储库”。
现在可以上传本地模块了。
在 GIT 中添加远程源,回到包中,在终端中输入用模块名称替换引号。还要更改用户名以匹配您自己的用户名。
这将连接 GitHub 到该包。
git remote add origin git@github.com:username/quotes-module.git
上传包的方式:
git push -u origin main
这只是第一次需要,之后可以使用 git push
来推送更改。
现在模块已经作为包推送到 GitHub,可以安装到其他项目中。
安装模块包 (用于私有包)#
要安装一个模块包,打开 composer.json
在 require
部分中类型:(将 moduleName
替换为包的名称)
"vendorname/moduleName-module": "@dev"
接下来,再次添加一个 repositories 部分,将 moduleName
替换为包的名称。
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:vendorname/moduleName-module.git"
}
]
现在你可以运行 composer update
来安装包。
要将模块安装到模块目录中,请安装此包 github.com/joshbrw/laravel-module-...
它将自动移动模块文件。如果你需要安装 modules
目录以外的模块,请将以下内容添加到你的 composer.json 模块中。
"extra": {
"module-dir": "Custom"
}
设置模块#
激活模块类型:
php artisan module:enable moduleName
现在模块已经准备好迁移和填充:
php atisan module:migrate moduleName
php artisan module:seed moduleName
模块更新#
安装后你可以自由修改模块,这些更改是特定于项目的,但如果它们足够通用,可以使用与项目相同的普通 pull request 流添加到包中。
如果一个包被更新了,并且你需要更新本地副本,你可以通过执行 composer update
来做到这一点,如果任何文件被修改,你将得到警告:
Syncing toppackages/suppliers-module (dev-master 852c6b7) into cache
toppackages/suppliers-module has modified files:
M Resources/views/livewire/edit.blade.php
Discard changes [y,n,v,d,s,?]?
输入一个字母继续:
y - 丢弃更改并应用更新
n - 中止更新,让您手动清理
v - 查看修改后的文件
d - 查看本地修改信息 (diff)
s - 保存更改,并尝试在更新后重新应用它们
卸载包#
如果你从 composer. js
中卸载一个包。该模块将从 modules 目录中删除。
推荐文章: