我一直在使用Node version 12.3.4将其更新为14.14.0,并开始收到许多问题,我已经解决了这些问题.我唯一不明白的是这个问题

__dirname is not defined

__dirname是 node 中的一个核心变量,我知道,它在 node 14中被删除了吗?

推荐答案

你是怎么加载文件的?根据这个问题,如果将其作为不包含_dirname的ECMAScript模块加载,就会出现问题.

https://github.com/nodejs/help/issues/2907#issuecomment-671782092

根据以下文档,您可能能够解决该问题:

import { fileURLToPath } from 'url';
import { dirname } from 'path';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

Node.js相关问答推荐

无法在我的 node 项目中转让Google Drive v3 API中的所有权

MongoDB:更新批量操作中许多不能正常工作的内容

如何使用MongoDB在Node.js 中向数组中添加项?

如何使用聚合管道交换键值对

如何在ejs模板中使用循环显示多个结果?

使用Node.js中的";类型";:";模块";不导入文件

模块';"; node :流程&没有导出的成员';dlopen';

GitLab 依赖扫描需要源代码中的 package-lock.json 才能执行

如何使用Stripe测试失败的收费?

dayjs的isSameOrAfter方法未按预期工作

Cypress.io - 如何等待返回调用属性的方法的结果?

如何在mongodb中获取对象数组内部的数据

在快速路由中使用 axios 会在数据字段中返回特殊字符而不是 json

当我try 从本地主机发布新产品时收到错误消息

npm chokidar 触发事件两次

在 Mongoose 中创建外键关系

在单独的模块中定义 Mongoose 模型

如何在 node.js 沙箱中安全地运行用户提交的脚本?

从 node.js 连接到 mongodb 时出现 ECONNREFUSED 错误

用于轻松部署和更新的 Node.js 设置