编译为JavaScript后TypeScript出现问题-“;重复标识符错误“;
在VSCode中,我正在使用TypeScript,当我编译到JavaScript时遇到一个问题,IDE会抱怨某些元素(类、变量等)是重复的。这是因为它们存在于TypeScript文件和作为结果创建的JavaScript文件中 我想这是一个相当普遍的问题,但要澄清两件事:编译为JavaScript后TypeScript出现问题-“;重复标识符错误“;,javascript,node.js,typescript,visual-studio,npm,Javascript,Node.js,Typescript,Visual Studio,Npm,在VSCode中,我正在使用TypeScript,当我编译到JavaScript时遇到一个问题,IDE会抱怨某些元素(类、变量等)是重复的。这是因为它们存在于TypeScript文件和作为结果创建的JavaScript文件中 我想这是一个相当普遍的问题,但要澄清两件事: 这似乎不会阻止TypeScript编译 只有当.js文件在IDE中打开(VSCode)时才会发生这种情况 下面是一张图片,显示了我的意思: 我在使用npm或命令行方面不是很有经验,因此我不确定是否无意中启用了此行为或遗漏了某些
非常感谢 我相信你的typescript和javascript都在同一个文件夹中。你能分享你的tsconfig文件吗?需要注意的重要一点是
outdir
,它将确保编译后的文件不会保存在同一个目的地
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
"sourceMap": true, /* Generates corresponding '.map' file. */
"outDir": "dist", /* Redirect output structure to the directory. */
"strict": true, /* Enable all strict type-checking options. */
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"skipLibCheck": true, /* Skip type checking of declaration files. */
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
}
}
json,这将允许您运行npm命令,如npm start
{
“名称”:“学习”,
“版本”:“1.0.0”,
“说明”:“,
“main”:“dist/target_group.js”,
“脚本”:{
“调试”:“tsc&&node--nolazy dist/target_group.js”,
“开始”:“tsc&&node dist/target_group.js”,
“测试”:“echo\”错误:未指定测试\“&退出1”
},
“作者”:“作者”,
“许可证”:“ISC”,
“依赖项”:{
“@types/node”:“^14.11.1”,
“aws sdk”:“^2.756.0”,
“dotenv”:“^8.2.0”
},
“依赖性”:{
“tslint”:“^5.12.1”,
“类型脚本”:“^3.3.3”
}
}
Hi Shubham,有趣的是,我的根文件夹中似乎没有tsconfig文件-这可能吗?我在哪里可以找到它?你可能必须创建它。我将编辑我的答案并复制package.json和tsconfig。根据您的需要进行更改。如果您看到之前的消息,请忽略它-我以为我已经解决了问题,但问题仍然存在。这是我的package.json文件:{“name”:“ts sandbox”,“version”:“1.0.0”,“description”:“main”:“index.js”,“scripts”:{“test”:“echo”错误:未指定测试“&&exit 1”,“comp”:“tsc--outDir js sandbox.ts”},“关键字”:[],“author”:“许可证”:“ISC”,“依赖项”:“{“eslint”:“^7.9.0”,“typescript”:“^4.0.3”}
创建一个tsconfig文件似乎已经修复了它,是的。谢谢