有没有可以将jsdoc与打字稿文件一起使用?
我尝试在此配置中使用jsdoc-babel
{
"plugins": [
"node_modules/jsdoc-babel"
],
"babel": {
"extensions": [
"js",
"es6",
"jsx",
"ts",
"tsx"
]
}
}
但是它不起作用,也许我们可以手动翻译ts文件,然后生成jsdocs? 我知道像typedoc这样的替代方法,但是它缺少许多重要功能。
那么你们是否将jsdoc与typescript一起使用?
答案 0 :(得分:0)
尽管结合使用JSDoc和Typescript具有某些好处,例如:
缺点是采用TypeScript需要大量工作才能使构建工具适合您当前的流程(如您目前所经历的那样)
相反,您可以使用类似http://typedoc.org/
它将持续关注您的文档更改,并将根据代码库更改重新构建。
来源:https://blog.cloudflare.com/generating-documentation-for-typescript-projects/#whynotjsdoc
答案 1 :(得分:0)
试用用于Typescript的JSDoc插件,它是更好的文档工具集的一部分:https://github.com/SoftwareBrothers/better-docs。
答案 2 :(得分:-2)
尽管@Remi TypeDoc
所说的类型更适合TypeScript,但我使用JSDoc来实现更好的jsdoc到markdown的转换(在撰写本文时)。
编译TypeScript并将JSDoc与已编译的代码一起使用
> tsc && nodemon node_modules/.bin/jsdoc -c jsdoc.json dist/**/*
我正在使用jsdoc2markdown(使用jsdoc)的以下方法。在以下jsdoc配置中使用jsdoc-babel
,@babel/cli
,@babel/core
,@babel/preset-env
,@babel/preset-typescript
,
{
"source": {
"includePattern": ".+\\.ts(doc|x)?$",
"excludePattern": ".+\\.(test|spec).ts"
},
"plugins": [
"plugins/markdown",
"node_modules/jsdoc-babel"
],
"babel": {
"extensions": ["ts", "tsx"],
"ignore": ["**/*.(test|spec).ts"],
"babelrc": false,
"presets": [["@babel/preset-env", { "targets": { "node": true } }], "@babel/preset-typescript"],
"plugins": ["@babel/proposal-class-properties", "@babel/proposal-object-rest-spread"]
}
}
此配置:
@babel/preset-env
,以当前节点版本为目标进行转换。 (您可以根据需要进行更改和测试)=>请参阅预设环境文档@babel/preset-typescript
使babel能够解析TypeScript Babel和TypeScript会在翻译过程中删除一些JSDoc注释:
为此添加了一个STUB代码,对此漏洞进行了修正:
let STUB = 1;
/**
* Some description
* @typedef {Object} Config
* @property {string} name - Name of the config.
* @property {string} color - Color of choice.
*/
STUB = 1;
export type Config = {
name: string;
color: string;
};
我很早以前就写了一个Wiki页面,使用jsdoc-babel将TypeScript与jsdoc2md一起使用。
这可能会有所帮助:https://github.com/jsdoc2md/jsdoc-to-markdown/wiki/How-to-document-TypeScript