我正在尝试在 typescript 中轻松编写可使用的 npm 包。我有一个玩具项目 https://www.npmjs.com/package/lynda-copy-course/ ,并且项目组织在以下方面取得了成功:
- 在
npm install -g lynda-copy-course
之后从命令行运行 - 在
npm install -s lynda-copy-course
之后在另一个 js/ts 项目中工作 - 在使用 npm 的项目内部了解其类型定义
最后一个症结是使用项目不知道源类和方法附带的 JSDoc 样式注释。
如何配置我的项目(package.json
、tsconfig.json
等)以便使用包可以读取我的 JSDoc 注释?
我当前的package.json
:
{
"name": "lynda-copy-course",
"version": "2.1.7",
"bin": {
"lynda-copy-course": "./bin/lynda-copy-course.js"
},
"main": "./src/index.js",
"types": "./src/index.d.ts",
"dependencies": {
"inquirer": "^3.0.6",
"lodash": "^4.17.4",
"minimist": "^1.2.0",
"ncp": "^2.0.0",
"sqlite3": "^3.1.8"
}
}
我当前的tsconfig.json
:
{
"compilerOptions": {
"declaration": true,
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"include": [
"src/**/*",
"bin/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
],
"compileOnSave": true,
"typeAcquisition": {
"enable": true
}
}
发布本文时的 Github 存储库:here .
最佳答案
这里的问题出在我的 tsconfig.json
中。 compilerOptions.removeComments = true
设置阻止 JSDoc 注释插入到我生成的 .d.ts
文件中。
对我来说,这有点出乎意料。 Typescript gh 页面上的相关问题:Preserve JSDocs in *.d.ts files when stripping comments
关于typescript - 如何在 typescript NPM 包中导出(和使用)JSDoc 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44580985/