Joh*_*ohn 7 node.js typescript
我有以下文件夹结构:
/
/src/
file.ts
one.txt
/resources/
two.txt
Run Code Online (Sandbox Code Playgroud)
我想通过执行以下操作来file.ts阅读one.txt和的内容:two.txt
/
/src/
file.ts
one.txt
/resources/
two.txt
Run Code Online (Sandbox Code Playgroud)
使用时一切正常ts-node。
问题是,当我运行时,tsc它将所有文件编译为(我已通过设置为告诉/dist编译器执行此操作),但两者都失败,因为文件未复制到,因此找不到文件。tsconfig.jsonoutDir./distfs.readFileSync(...)*.txt/distfs
现在,我的问题是:有没有一种漂亮的方法来处理这个问题,并使读取和写入在使用时和之后fs都按预期工作?ts-nodetsc
我已经在几个项目中通过做一些奇怪的事情来解决这个问题,例如:
import fs from 'fs';
import path from 'path';
// sync is bad.
fs.readFileSync('one.txt');
fs.readFileSync(path.resolve(__dirname, '../resources/file.txt'));
Run Code Online (Sandbox Code Playgroud)
但这似乎是错误的。我相信应该有更好的解决方案,但我找不到。
小智 -1
dir = path.basename(path.dirname(__dirname));
const certDir = (dir === 'dist' ? './dist/cert': '../cert');
console.log('Cert file', certDir, `${certDir}/server-key.pem`);
console.log('Key file', certDir, `${certDir}/server-key.pem`);
Run Code Online (Sandbox Code Playgroud)