fs.readdirSync(__dirname) показывает расширение файла .js вместо .ts
У меня есть следующий код:
console.log(fs.readdirSync(__dirname));
Что выводит следующее:
[ 'index.js', 'objective.js', 'quest.js', 'user_objective.js' ]
Однако моя настройка каталога файлов выглядит следующим образом:
Почему он думает, что расширение .ts — это .js?
tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs" /* Specify what module code is generated. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
/* Type Checking */
"strict": true /* Enable all strict type-checking options. */,
"skipLibCheck": true /* Skip type checking all .d.ts files. */
},
"exclude": ["node_modules"]
}
1 ответ
Node.js не поддерживает TypeScript.
Ваш TypeScript скомпилирован в JavaScript и сохранен в.js
файлы ("outDir": "./dist" /* Specify an output folder for all emitted files. */,
).
Node.js запускает полученный JavaScript.
The __dirname
для файлов JS содержит файлы JS.