gpt4 book ai didi

javascript - 有没有办法为生成的 .d.ts 文件(在 javascript 项目中)声明特定的模块名称?

转载 作者:行者123 更新时间:2023-11-29 15:07:32 25 4
gpt4 key购买 nike

有没有办法为生成的 .d.ts 文件声明不同的模块名称?

tsc 生成 declare module "index"{ 而不是 declare module "@myorg/my-pkg"(这将匹配 name package.json 中的属性)。

注意:这是在我尝试生成类型的纯 javascript 项目中。

/* Generated with tsc --init via TypeScript 3.7.0-beta */
{
"compilerOptions": {
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"allowJs": true, /* Allow javascript files to be compiled. */
"declaration": true, /* Generates corresponding '.d.ts' file. */
"outFile": "./lib/index.js", /* Concatenate and emit output to single file. */
"emitDeclarationOnly": true, /* Only emit .d.ts files. */
"strict": true, /* Enable all strict type-checking options. */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
},
"include": [
"js/**/*"
]
}

最佳答案

不幸的是,类型不能开箱即用地输出到单个文件。有 an open proposal to add "type bundling" (#4433)添加功能。还有第 3 方库可以帮助解决这个问题。

另一个解决方案,如果您可以输出多个文件,则通过指定 outDir 而不是 outFile。这是我选择的解决方案,在 tsconfig.json 中设置 "outDir": "./types" 并设置 "types": "./types/index .d.ts"package.json 中。将模块导入其他项目时,这按我预期的方式工作。

关于javascript - 有没有办法为生成的 .d.ts 文件(在 javascript 项目中)声明特定的模块名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58440177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com