Я создал модуль NodeJS, написанный на машинописном тексте (правда, он ничего не должен менять).
Вот как это устроено:
.
├── data/
│ └── MY_DATA_FILES.json
│
├── src/
│ ├── data/
│ │ └── data.ts
│ │
│ └── OTHER_TYPESCRIPT_FILES.ts
│
├── dist/
│ ├── data/
│ │ └── data.js
│ │
│ └── OTHER_JAVASCRIPT_FILES.ts
│
├── package.json
└── tsconfig.json
Моя цель - прочитать файлы данных из data.ts
файла. Когда мой текущий рабочий каталог находится в корне модуля, это не проблема (тогда это будет ./data/...
), но когда я использую его как модуль, и он помещается в каталог nodes_modules/
, я не уверен, как справиться с ситуацией. .
В настоящее время я читаю следующие файлы:
import fs from 'fs';
const basePath = './data';
const filesPath = 'subdirectory/my_data.json';
export function getData(): any {
const fileFullPath = basePath + '/' + filesPath;
const contents = fs.readFileSync(fileFullPath);
// [...]
}
Но здесь мой basePath
зависит от моего рабочего каталога. Я мог бы установить его как ./node_modules/my_module/data
, но я знаю, что это неправильный подход ..
Любая помощь будет оценена, спасибо!