将模块功能拆分为单独的文件

时间:2018-03-15 00:05:02

标签: powershell module powershell-module

我是模块新手,想要将冗长的.psm1文件拆分成多个文件以保持可维护性。这样做的最佳方式是什么?

我使用点源工作,但我怀疑有一种更好的方法来创建一个包含多个文件的模块。

目前我的文件结构是:

Logger/ (module directory)
|
-- Logger.psd1 (module manifest)
|
-- Logger.psm1 (main functions exported from module)
|
-- Configuration.ps1 (configuration-related functions, exported from module)
|
-- Private/ (directory)
    |
    -- SharedFunctions.ps1 (functions called by Logger.psm1 and 
    |                       Configuration.ps1, not exported)
    |
    -- ModuleState.ps1 (variables that record the module configuration, 
                        used by all other script files)

我通过使用点源链接文件来实现这一目标:

  • 在Logger.psm1中,我添加了. $PSScriptRoot\Configuration.ps1以包含Configuration.ps1文件中的函数;
  • 在Configuration.ps1中,我添加了. $PSScriptRoot\Private\SharedFunctions.ps1以包含Private \ SharedFunctions.ps1中的函数;
  • 在SharedFunctions.ps1中,我添加了. $PSScriptRoot\ModuleState.ps1以包含ModuleState.ps1中记录模块配置的变量。

这有效,但看起来很脆弱。是否有更好的方法在模块中拆分文件,可能使用清单文件?

0 个答案:

没有答案