typescript - 如何在 typescript NPM 包中导出(和使用)JSDoc 注释

标签 typescript npm visual-studio-code

我正在尝试在 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.jsontsconfig.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/

相关文章:

javascript - 在 typescript 中隐式引用另一个内部模块

typescript - 三元运算符和 Vue 过滤器

node.js - NPM 在错误的地方安装依赖项

python - 还有其他方法可以解决whatsapp消息自动化吗?

visual-studio-code - 在 VS Code 中,如何获取当前选择的 Python 的路径?

javascript - 为什么 angular 2 provider {useValue : . ..} 克隆对象?

返回 promise 时,Angular APP_INITIALIZER 不会延迟应用程序初始化

node.js - karma 测试通过,但 npm 测试给出错误

node.js - 从 NodeJs 8 升级到 NodeJs 11 后如何解决 "npm does not support Node.js v11.3.0"警告?

javascript - VS Code 在我的 Typescript 项目中找不到模块