我正在使用grunt和typedoc开发应用程序。
我需要使用TypeDoc准备文档,但是我遇到一种情况的问题。
我必须从文档中排除一些外部库文件。
我无法将这些文件放入exclude
部分,因为这些文件与另一个文件有关。如果我尝试排除它(将这些文件放入exclude
部分),则会出现错误-类似于cannot find to xxx into yyy.ts
-其中xxx
是我的排除元素,而yyy
是相关的xxx
文件。那些
相关文件在此文档中是必需的,因此我也不能排除这些文件。
我阅读了有关excludeExternals的TypeDoc文档。因此,我认为如果将此布尔值设置为true,则可以定义externalPattern以排除我的外部文件。这是可行的,但前提是我只输入一个文件的名称-不再。
你知道怎么做吗?
这是我在gruntfile.js中的typedoc配置(没有excludeExternals选项):
typedoc: {
build: {
options: {
module: 'commonjs',
out: '../Documentation/',
name: 'MyApp',
target: 'es5',
exclude: [
'node_modules',
'**/*.d.ts'
],
excludePrivate: true,
mode: 'file'
},
src: [
...some source...
]
}
}
这是我必须排除的外部文件列表:A.ts,B.ts,C.ts,D.ts ...
这是我在gruntfile.js中的typedoc配置(带有excludeExternals选项):
typedoc: {
build: {
options: {
module: 'commonjs',
out: '../Documentation/',
name: 'MyApp',
target: 'es5',
exclude: [
'node_modules',
'**/*.d.ts'
],
excludeExternals: true,
externalPattern: '**/*/A.ts',
excludePrivate: true,
mode: 'file'
},
src: [
...some source...
]
}
}
此配置运行良好。我有没有A.ts文件的文档。因此,现在我需要放入一些文件,因此我尝试放入externalPattern
之类的东西:**/*/(A|B|C|D).ts
但没有成功(因为在重新编译文档时出现错误:Process terminated with code 3. 'B' is not recognized as an internal or external command, operable program or batch file.
)。 / p>
有什么想法吗?
答案 0 :(得分:1)
我找到了解决方案。如果我想使用externalPattern
排除外部文件,则应编写类似以下内容的模式:
externalPattern: "**/*/{A,B,C,D}.ts"
{} =允许以逗号分隔的“或”表达式列表
,=或
this comment对我有用,来自gruntfile中有关正则表达式的主题。
答案 1 :(得分:-1)
根据this comment,正确的语法为**/*/+(A|B|C|D).ts
。另外,您似乎在尝试解释管道字符时遇到了外壳问题,因此请尝试在整个内容周围加上双引号:
externalPattern: '"**/*/+(A|B|C|D).ts"'