我目前正在学习 PowerShell 模块。如果您使用的是 .psd1 清单文件,则可以选择使用 .ps1 脚本文件以及 .psm1 清单文件。为什么两者都需要?
我创建了一个模块,其中 .psm1 设置为 RootModule 和 .ps1 设置在 ScriptsToProcess 中,我注意到了一些差异,但我不确定它们加起来是什么。
- 如果我将 Write-Output 语句添加到两者,则在导入时会显示 .ps1 的输出,但会抑制 .psm1 的输出。为 .psm1 显示写警告。
- 如果我为模块前缀运行 Get-Command前缀,则 .psm1 中的函数会与模块名称一起列出,而 .ps1 文件中的函数会以空白模块名称列出。