Skip to content

Build error when using the plugin in Vite.config #46

Description

@amirtbi

I used the 'vite-plugin-dynamic-import' in my Vite.config + Vue app. This is my vite.config :
`
///
import { fileURLToPath } from 'url'
import VueI18n from '@intlify/vite-plugin-vue-i18n'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import dynamicImport from 'vite-plugin-dynamic-import'
// es
import { visualizer } from "rollup-plugin-visualizer";
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import DefineOptions from 'unplugin-vue-define-options/vite'
import { defineConfig, type PluginOption } from 'vite'
import Pages from 'vite-plugin-pages'
import Layouts from 'vite-plugin-vue-layouts'
import vuetify from 'vite-plugin-vuetify'
import { url } from 'inspector';

export default defineConfig({
plugins: [
vue(),
vueJsx(),
dynamicImport(),
vuetify({
styles: {
configFile: 'src/styles/variables/_vuetify.scss',
},
}),

Pages({
  exclude: ['src/pages/**/components/**','src/pages/**/i18n/**','src/pages/**/models/**'],

  onRoutesGenerated: routes => [
    // Email filter
    {
      path: '/apps/email/:filter',
      name: 'apps-email-filter',
      component: '/src/pages/apps/email/index.vue',
      meta: {
        navActiveLink: 'apps-email',
        layoutWrapperClasses: 'layout-content-height-fixed',
      },
    },

    // Email label
    {
      path: '/apps/email/label/:label',
      name: 'apps-email-label',
      component: '/src/pages/apps/email/index.vue',
      meta: {
        // contentClass: 'email-application',
        navActiveLink: 'apps-email',
        layoutWrapperClasses: 'layout-content-height-fixed',
      },
    },
    ...routes,
  ],
}),
Layouts(),
Components({
  dirs: ['src/@core/components', 'src/views/demos'],
  dts: true,
}),

AutoImport({
  imports: ['vue', 'vue-router', '@vueuse/core', 'vue-i18n', 'pinia','vitest'],
  dts:true,
  vueTemplate: true,
}),
VueI18n({
  runtimeOnly: true,
  compositionOnly: true,
  include: [
    fileURLToPath(new URL('./src/plugins/i18n/locales/**', import.meta.url)),
  ],
}),
DefineOptions(),

visualizer() as PluginOption

],
test:{
globals:true,
environment: 'happy-dom',
},
define: { 'process.env': {} },
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
'@themeConfig': fileURLToPath(new URL('./themeConfig.ts', import.meta.url)),
'@core': fileURLToPath(new URL('./src/@core', import.meta.url)),
'@layouts': fileURLToPath(new URL('./src/@layouts', import.meta.url)),
'@configured-variables': fileURLToPath(new URL('./src/styles/variables/_template.scss', import.meta.url)),
'@axios': fileURLToPath(new URL('./src/plugins/axios', import.meta.url)),
'@Validators': fileURLToPath(new URL('./src/@core/utils/validators', import.meta.url)),
'apexcharts': fileURLToPath(new URL('node_modules/apexcharts-clevision', import.meta.url)),

},

},
build: {
target: 'esnext',
chunkSizeWarningLimit: 5000,
},
optimizeDeps: {
exclude: ['vuetify'],
entries: [
'./src/**/*.vue',
],
},
})
`
When I build my project. the following error appears:

promises' is not exported by __vite-browser-external, imported by node_modules/@iconify/tools/lib/misc/scan.mjs
import { promises } from 'fs'

how can handle this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions