tsconfig.json使用node.js模块的最佳设置是什么



到目前为止,我在"./src"中有两个文件:index.tssetConfig.ts。导入"fs"one_answers"path"如下:

const fs = require('fs');
const path = require('path');

而这正是Typescript显然不喜欢的;编译时,上面写着:

src/index.ts:1:7 - error TS2451: Cannot redeclare block-scoped variable 'fs'.
1 const fs = require('fs');
~~
src/setConfig.ts:1:7
1 const fs = require('fs');
~~
'fs' was also declared here.
src/index.ts:2:7 - error TS2451: Cannot redeclare block-scoped variable 'path'.
2 const path = require('path');
~~~~
src/setConfig.ts:2:7
2 const path = require('path');
~~~~
'path' was also declared here.
src/setConfig.ts:1:7 - error TS2451: Cannot redeclare block-scoped variable 'fs'.
1 const fs = require('fs');
~~
src/index.ts:1:7
1 const fs = require('fs');
~~
'fs' was also declared here.
src/setConfig.ts:2:7 - error TS2451: Cannot redeclare block-scoped variable 'path'.
2 const path = require('path');
~~~~
src/index.ts:2:7
2 const path = require('path');
~~~~
'path' was also declared here.

Found 4 errors.

但当我把它放在setConfig.ts中时,节点抱怨它不知道"fs"。。。。

我的tsconfig.json看起来像这样:

{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist/",
"rootDir": "./src/", 
"strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
}
}

那么,我还需要添加什么或做什么才能使我编译的JavaScript正常工作呢?

setConfig.ts模块中添加导出应该可以解决问题。

// setConfig.ts
export default {
// your exports
};
// Or
export function foo() {}

最新更新