Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ReferenceError: __dirname is not defined in ES module scope building script

Im having a problem with "ReferenceError: __dirname is not defined in ES module scope" error

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')}/`,
    },
  },...

Can anyone provide a solution? Thank you so much!

like image 645
Chi Chi Huang Avatar asked Oct 29 '25 01:10

Chi Chi Huang


1 Answers

As the error suggests, __dirname is not defined in the ES module scope.

Try this:

import url from 'url'

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

Now you can use __dirname in path.resolve()

like image 57
Thermal_insulator Avatar answered Oct 30 '25 17:10

Thermal_insulator



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!