所以,我使用了一堆.ps1
文件(每个函数一个文件)和.psd1
清单文件来实现我的第一个 Powershell 模块。
我正在尝试理解 .psm1
文件的目的 - 我是否需要它们在我的模块中?
它们有什么附加价值吗?
编辑 1
这是我的.psd1
文件:
@{
ModuleVersion = "0.0.19106.59054"
GUID = "59bc8fa6-b480-4226-9bcc-ec243102f3cc"
Author = "..."
CompanyName = "..."
Copyright = "..."
Description = "..."
ScriptsToProcess = "vsts\config.ps1"
VariablesToExport = @(
"TfsInstanceUrl",
"TfsApiVersion",
"QANuGetRepoUrl"
)
NestedModules = @(
"db\Backup-Database.ps1",
...
"vsts\work\Get-WorkItems.ps1"
)
FunctionsToExport = @(
"Assert-ExtractionDestFolder",
...
"Write-HostIfNotVerbose"
)
PrivateData = @{
PSData = @{
ExternalModuleDependencies = "SqlServer"
}
}
}
就像我说的那样,每个函数都在自己的文件中。
.psd1
文件的标签来列出你的.ps1
文件? - user4003407.ps1
文件作为模块导入,但它们不会像.psm1
文件那样创建模块。它们没有自己的会话状态,而是在父模块的范围内运行。 - user4003407.psm1
文件,这样做有什么问题吗?我会失去哪些功能?如果我将.ps1
文件重命名为.psm1
,我会得到什么好处? - mark