typescript - 使用jsdoc生成打字稿时找不到命名空间
问题描述
我有一个大型的旧 javascript 库,它用 jsdoc 进行了彻底的注释,并生成了看起来不错的 API 文档。我想使用 typescript 编译器来制作基于此的 typescript 模板文件。但是,由于我们记录类的方式而tsc
失败(代码的核心早于 ES6,因此它不使用关键字)。下面给出一个简单的复制示例:error TS2503
class
文件src/index.js
/**
* @namespace sample
*/
module.exports = {
aclass: require('./aclass')
};
文件src/aclass.js
/**
* @class
* @alias sample.aclass
* @returns {sample.aclass} A instance of the aclass.
*/
var aclass = function () {
if (!(this instanceof aclass)) {
return new aclass();
}
};
module.exports = {
aclass: aclass
};
文件tsconfig.json
{
"include": ["src/index.js"],
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"declaration": true,
"outDir": "dist/ts",
"target": "es6",
"module": "CommonJS",
"lib": ["es6", "dom"],
"noEmit": true,
"strict": false,
"noImplicitThis": true,
"alwaysStrict": true,
"esModuleInterop": true
}
}
运行时tsc
,具体输出
src/aclass.js:4:14 - error TS2503: Cannot find namespace 'sample'.
4 * @returns {sample.aclass} A instance of the aclass.
理想情况下,我仍然想生成好的 jsdocs 并生成 typescript 模板文件。如何重构 jsdocs 或更改 tsconfig 以使其工作?
解决方案
推荐阅读
- hibernate - spring data jpa @EntityGraph 方法与 Collection 结果抛出 BeanCreationException
- node.js - 根据文档 id 和子文档键过滤数组子文档
- sql - Postgres- 每 n 天分组
- ruby-on-rails - rvm install 1.8.7 返回“错误运行'__rvm_make -j4'”
- python - Flask 允许分块数据还是使用不同的库?
- intellij-idea - 有没有办法让 IDE(IntelliJ、PyCharm、VS Code)弹出更少但仍然可以完成?
- r - 如何使用 R 对数据进行反排序
- node.js - 如何检查加密模块的版本?
- python - Python海龟鼠标不直接跟随
- php - 按降序 SQL 对表进行排序