__dirname is not defined
时间: 2023-10-14 14:05:46 浏览: 207
node全局变量__dirname与__filename的区别
__ is not defined in ES module scope 这个错误是因为在ES模块中,没有内置的__dirname变量。在CommonJS模块中使用__dirname是可以的,但在ES模块中,要获取当前模块文件所在的目录路径可以使用其他方法。
一个可行的方法是使用import.meta.url和fileURLToPath方法来获取当前模块文件的路径,然后通过path.dirname方法来获取所在目录的路径。
示例代码如下:
```javascript
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
```
这样就可以在ES模块中获取到当前模块文件所在的目录路径了。
阅读全文