首页  >  问答  >  正文

ReferenceError: __dirname 未在 ES 模块作用域构建脚本中定义

我有一个问题 “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')}/`,
    },
  },...

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

P粉642919823P粉642919823350 天前761

全部回复(1)我来回复

  • P粉413307845

    P粉4133078452023-11-04 00:56:46

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

    试试这个:

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

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

    回复
    0
  • 取消回复