Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript tsconfig.json使用node.js模块的最佳设置是什么?_Javascript_Node.js_Typescript_Node Modules_Commonjs - Fatal编程技术网

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

Javascript tsconfig.json使用node.js模块的最佳设置是什么?,javascript,node.js,typescript,node-modules,commonjs,Javascript,Node.js,Typescript,Node Modules,Commonjs,到目前为止,我在“/src”中有两个文件:index.ts和setConfig.ts。 导入“fs”和“path”如下: const fs = require('fs'); const path = require('path'); { "compilerOptions": { "target": "es5", "module": "commonjs", "outDir": "./dist/", "rootDir": "./src/", "stri

到目前为止,我在“/src”中有两个文件:
index.ts
setConfig.ts
。 导入“fs”和“path”如下:

const fs = require('fs');
const path = require('path');
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "outDir": "./dist/",
    "rootDir": "./src/", 
    "strict": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true
  }
}
。。。这就是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
如下所示:

const fs = require('fs');
const path = require('path');
{
  "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() {}

这就解决了问题,谢谢!我使用了
module.exports=foo(){}
const setConfig()=require(“./setConfig”)
,它们以前在js中工作过,但现在显然不再在ts中工作了。。。