自定义 生成器 是一种 Sails 命令行插件。通过模板,它们控制在运行 sails new
或 sails generate
时,在 Sails 项目中生成哪些文件,以及这些文件的外观。
为了方便操作,我们先创建一个 Sails 项目。如果您还没有创建,请在终端中输入
sails new my-project
然后 cd
到 my-project
并让 Sails 输出新生成器的模板
sails generate generator awesome
要启用生成器,您需要通过测试项目的 .sailsrc
文件 告诉 Sails。
如果我们使用的是现有的生成器,我们可以从 NPM 安装它,然后在 .sailsrc
中指定包的名称。但由于我们是在本地开发此生成器,因此我们将直接将其连接到文件夹
{
"generators": {
"modules": {
"awesome": "./my-project/awesome"
}
}
}
注意: 现在,我们将坚持使用“awesome”,但您可以将生成器挂载到任何您想要的名称下。您为
.sailsrc
文件中的键选择的名称将是您从终端运行此生成器时使用的名称(例如sails generate awesome
)。
要运行您的生成器,只需将其名称附加到 sails generate
后面,然后是任何所需的参数或命令行选项。例如
sails generate awesome
如果您的生成器在不同的项目中很有用,您可能需要考虑将其发布为 NPM 包(请注意,这并不意味着您的生成器必须是开源的:NPM 也支持 私有包)。
首先,打开 package.json
文件并验证包名称(例如“@my-npm-name/sails-generate-awesome”)、作者(“My Name”)、许可证和其他信息是否正确。如果您不确定,可以使用“MIT”作为良好的开源许可证。如果您发布的是私有生成器并希望它对您的组织保持专有,请使用“UNLICENSED”。
注意: 如果您还没有 NPM 帐户,请访问 npmjs.com 并创建一个。然后使用
npm login
进行设置。
准备好发布生成器到 NPM 时,在终端中 cd
到生成器的文件夹并输入
npm publish
要试用您新发布的生成器,请 cd
回到您的示例 Sails 项目(my-project
),删除内联生成器,然后运行
npm install @my-npm-name/sails-generate-awesome
然后更改示例 Sails 项目(my-project/.sailsrc
)中的 .sailsrc
{
"generators": {
"modules": {
"awesome": "@my-npm-name/sails-generate-awesome"
}
}
}
最后但并非最不重要的是
sails generate awesome