- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个模块,用于导出我想通过我的配置文件提供的 cmdlet。此 cmdlet 的实现分布在多个实现文件中,这些文件包含我不想公开的实现功能。所以我用Export-ModuleMember隐藏它们。
文件 get_something.psm1
import-module .\get_something_impl.psm1
function Get-Something {
[cmdletbinding()]
Get-SomethingImplementation
}
Export-ModuleMember -Function Get-Something
然后我将 get_something.psm1 添加到我的个人资料中。通过仅导出 Get-Something,我的所有实现功能都保持“私有(private)”。
最佳答案
这实际上是在模块开发过程中的一些争论。原来,Export-ModuleMember
需要导出任何功能。这变得乏味和限制。因此,默认情况下,模块中的所有函数都是可见的,但变量和别名不可见,只要您从未使用过 Export-ModuleMember
在 .PSM1
内.
如果您使用 Export-ModuleMember
,它开始限制该列表。导出较少数量的函数可能不是一个坏主意,但您必须谨慎使用它。
你可以写:
Export-ModuleMember -Function a,b,c
它导出了一些功能。
Export-ModuleMember -Function *
后者相当于省略
Export-ModuleMember
共。
-Global
标记
Import-Module
, 并避免使用
-Force
(这将重新加载模块)。这使得在不同功能中重用模块的效率更高。它还减少了“循环”(卸载和重新加载)模块的问题,不幸的是,许多模块做得不好。
Get-Help New-ModuleManifest
)。模块 list 非常有趣,模块开发的许多部分都需要学习。如果您在
RequiredModules
中包含模块模块 list 的列表,它将在导入模块之前自动加载(至少在 PowerShell 3 和更高版本中)。如果您在
NestedModules
中包含模块模块 list 的列表,它将作为模块的一部分加载,模块导出的命令将由您的模块导出。
关于function - PowerShell 模块设计 - Export-ModuleMember,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205103/
我是 PowerShell 新手,刚刚开始创建自己的模块。我创建了脚本和 list 文件,并将它们放入目录 C:\Program Files\WindowsPowerShell\Modules\ 中,
我在 PowerShell 脚本模块中定义了大量函数。我想使用 Export-ModuleMember -Function * ,但我只想排除一个功能。排除这一项功能比列出所有包含的功能更容易。有没有
我正在构建一个模块,用于导出我想通过我的配置文件提供的 cmdlet。此 cmdlet 的实现分布在多个实现文件中,这些文件包含我不想公开的实现功能。所以我用Export-ModuleMember隐藏
我正在尝试自学 Azure Powershell 脚本,最终目标是设置一个脚本,该脚本可读取 Excel 电子表格,其中包含要创建的 Azure VM 的规范(例如 VM 类型、标签、时区、AD将其添
我正在尝试自学 Azure Powershell 脚本,最终目标是设置一个脚本,该脚本可读取 Excel 电子表格,其中包含要创建的 Azure VM 的规范(例如 VM 类型、标签、时区、AD将其添
假设我在 PowerShell 模块中定义了一个过滤器: filter OddNumbers { $value = $_ $value | ? {($_ % 2)} } 首先,是否可以使用 E
我一直在编写一个 Cmdlet,并且为了保持界面整洁,我一直在使用 Export-ModuleMember 手动导出我关心的功能。 . 但是,有人指出我也可以将我的函数直接放在 global: sco
我是一名优秀的程序员,十分优秀!