【发布时间】:2020-08-08 08:09:00
【问题描述】:
我创建了一个 NodeJS 模块,用 typescript 编写(虽然它不应该改变任何东西)。
这是它的组织方式:
.
├── 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,但我知道这不是正确的方法..
任何帮助将不胜感激,谢谢!
【问题讨论】:
标签: node.js typescript path node-modules