javascript - 引用错误: __dirname is not defined in ES module scope building script

标签 javascript vue.js vite dirname

我有一个问题 “ReferenceError:__dirname 未在 ES 模块作用域中定义”错误

import path from 'path'
import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Pages from 'vite-plugin-pages'
import Layouts from 'vite-plugin-vue-layouts'
import Components from 'unplugin-vue-components/vite'
import AutoImport from 'unplugin-auto-import/vite'
import Unocss from 'unocss/vite'
import { campaign } from './package.json'



export default defineConfig({
  resolve: {
    alias: {
      '~/': `${path.resolve(__dirname, 'src')}/`,
    },
  },...

谁能提供解决方案吗? 非常感谢!

最佳答案

正如错误所示,__dirname 未在 ES 模块作用域中定义。

试试这个:

import url from 'url'

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

现在您可以在 path.resolve() 中使用 __dirname

关于javascript - 引用错误: __dirname is not defined in ES module scope building script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73947942/

相关文章:

Javascript - 仅将 'if-else' 或 'if' 用于单值分配?

javascript - 正则表达式非将符号后的字符转换为大写

javascript - `(?=regex)` 和 `(?!regex)` 可以用在正则表达式中间吗?

javascript - 如何在我的 firebase 子节点中引用数据?

javascript - 如何在React vite应用程序中的index.html中使用env

javascript - 在 pinia 商店中的状态更改后,vue 组件不会更新

javascript - D3.js 基于节点个体半径/直径的自动字体大小调整

javascript - 如何在递归组件中出现 "Avoid mutating a prop directly"

javascript - VueJS格式三元表达式

vuejs3 - Unplugin-vue-define-options 类型错误