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

时间:2017-06-16 04:45:18

标签: typescript npm visual-studio-code

我正在努力在打字稿中编写耗材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

1 个答案:

答案 0 :(得分:1)

这里的问题出在我的tsconfig.jsoncompilerOptions.removeComments = true设置阻止将JSDoc注释插入到生成的.d.ts文件中。

对我来说,这有些出乎意料。关于Typescript的gh页面的相关问题:Preserve JSDocs in *.d.ts files when stripping comments