我一直在使用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相关问答推荐

如何在RavenDB中执行JS索引?

Express无法发布

FireStore事务似乎已允许并发编辑?

聚合操作不返回任何具有mongoose模式的内容

如何发送比特币BTC使用发送加密使用WIF密钥在 node ,js

在 puppeteer 中从 pdf 中删除 about:blank 和 date-time

从mongodb集合中获取每分钟数据的每小时数据

Next.js 路由不起作用 - 页面未正确加载

在 getServerSideProps 中使用 EmailProvider 获取 NextAuth 会话会抛出 fs找不到模块

为什么运行 yarn 命令会出错 - yargs-parser的完整性判断失败

从 Response.json() 返回的 JSON 似乎无效?

Axios 响应循环通过函数只返回第一个映射对象的结果

为什么 $or 在带有正则表达式的mongoose 中不能正常工作

使用正则表达式查找文档,但输入是数组

使用 Forms API 进行批量更新时生成 itemId

如何正确使用 package.json 中的关键字属性?

使用 node.js 循环 JSON

我应该如何在 webpack 中使用时刻时区?

我可以让 node --inspect 自动打开 Chrome

我无法全局安装 nodemon,nodemon无法识别