到目前为止,我有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正常工作?
在你的程序中添加导出 setConfig.ts
模块应该解决问题。
// setConfig.ts
export default {
// your exports
};
// Or
export function foo() {}