我正在編寫一個模塊,並且我有一些我不想公開的幫助函數,但我希望在內部可以使用模塊函數。我已經建立了我的目錄結構,如:PowerShell模塊中的內部函數
root\
..Private
....Invoke-PrivateTest.ps1
....private.psd1
....private.psm1
..Public
....Get-Something.ps1
....Public.psd1
....Public.psm1
..test.psd1
我設置GitHub上https://github.com/jpbruckler/test的存儲庫中有所有的模塊文件。
我期待的行爲是Get-Something是一個公共函數。在運行Get-Command -Module Test
時應該列出。相反,Invoke-PrivateTest
不應該在該命令的輸出中。
當致電Get-Something
時,應輸出文字Invoke-PrivateTest called
。相反,我收到一個錯誤,指出命令Invoke-PrivateTest不存在。
我在test.psd1
中明確表示只有Get-Something
函數要導出。
Private模塊和公共模塊都通過test.psd1
中的NestedModules
屬性被調用。任何幫助或指針,將不勝感激。
嵌套模塊相互獨立。如果你想從'Public'使用'Private',那麼'Public'應該導入'Private'。 – PetSerAl
我不知道。我不能在模塊文檔的正確位置查找。這給了我一些關於如何完成的想法。 –