tsconfig.json与node.js模块一起工作的最佳设置是什么?

问题描述 投票:0回答:1

到目前为止,我有2个文件在".src"。index.ts 和".src "里有两个文件: setConfig.ts.导入'fs'和'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 node抱怨它不知道'fs'......

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

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

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

javascript node.js typescript node-modules commonjs
1个回答
1
投票

在你的程序中添加导出 setConfig.ts 模块应该解决问题。

// setConfig.ts
export default {
  // your exports
};
// Or
export function foo() {}
© www.soinside.com 2019 - 2024. All rights reserved.