发布模块

未匹配的标注

发布模块

在创建一个模块并确定该模块将被其他开发人员使用之后。您可以将您的模块推送到 githubgitlabbitbucket,然后您可以将您的模块提交到 packagist 网站。

你可以按照这个步骤发布你的模块。

  1. 创建一个模块。
  2. 确保你在composer. js中提到了模块的type。将这个模块转换为laravel-module
  3. 将模块推送到github, bitbucket, gitlab等。确保存储库名称遵循约定,然后它将自动移动到正确的目录。仓库的名称应该类似于<namespace>/<name>-module,最后是-module。例如: “https://github.com/nWidart/article-module"。 这个模块将被安装在 module/Article 目录下。
  4. 将你的模块提交到 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 目录中删除。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
slowlyo
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 查看所有版本


暂无话题~