KAM*_*KAM 6 node.js typescript nestjs
使用时:
import path from 'path';
path.resolve('/')
Run Code Online (Sandbox Code Playgroud)
我收到标题错误,但是当我使用
require('path').resolve('messages.json'))
Run Code Online (Sandbox Code Playgroud)
import { readFile, writeFile } from 'fs/promises';
import { v4 as uuidv4 } from 'uuid';
import path from 'path';
interface MessagesJson {
messages: Array<{ content: string; id: string }>;
}
export class MessagesRepository {
async findOne(id: string): Promise<string> {
return id;
}
async findAll(): Promise<any> {
return null;
}
async create(message: any): Promise<any> {
console.log(' dirname', require('path').resolve('messages.json'));
console.log(' path.resolve', path.resolve('/'));
// console.log(' path.resolve', path.resolve(__dirname, '/src'));
const messages: any = await readFile('src/messages.json', 'utf-8');
const parsedMessages: MessagesJson = JSON.parse(messages);
const newMessage = {
content: message,
id: uuidv4(),
};
await parsedMessages.messages.push(newMessage);
await writeFile('src/messages.json', JSON.stringify(parsedMessages));
return parsedMessages;
}
}
Run Code Online (Sandbox Code Playgroud)
对于问题上下文,我正在使用 Nestjs 开发一个小项目,path.foo() 的任何选项都会得到与上面列出的相同的错误,它与代码编译后相关吗?
我非常不知道我应该阅读哪里/什么文档和/或信息才能理解正在发生的事情。
Jay*_*iel 13
require从技术上来说,它本身就是一个命名导入。这意味着在 Typescript 中它需要类似于import * as path from 'path'这样您才能使用path.resolve. 另一种选择是使用来解构导入import { resolve } from 'path';,现在您可以resolve()直接调用。
| 归档时间: |
|
| 查看次数: |
4442 次 |
| 最近记录: |