背景:想要装一个vite的插件vite-plugin-svg-icons,去设置svg的颜色,装完后项目无法启动,排查报错信息才知道是vite版本过高的原因:vite 7.x 及其插件体系全面采用了 ESM(ES Module)规范,而 vite-plugin-svg-icons 2.x 版本是 CommonJS 格式,导致 require/import 不兼容。
使用的是hubilder内置的vite,这个能不能指定版本
import { defineConfig } from 'vite';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
import uni from '@dcloudio/vite-plugin-uni';
export default defineConfig({
plugins: [
uni(),
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'static/svg-icons')],
symbolId: 'icon-[dir]-[name]'
})
],
});
报错信息:
failed to load config from /Users/edy/xxx目录/vite.config.js
09:53:26.233 error when starting dev server:
09:53:26.233 Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/edy/works/qa-h5/nodemodules/.pnpm/vite@7.0.4@types+node@24.0.14_sass@1.89.2/node_modules/vite/dist/node/index.js from /Users/edy/works/qa-h5/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1vite@7.0.4@types+node@24.0.14sass@1.89.2/node_modules/vite-plugin-svg-icons/dist/index.cjs not supported.
09:53:26.234 Instead change the require of index.js in /Users/edy/works/qa-h5/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1vite@7.0.4@types+node@24.0.14sass@1.89.2/node_modules/vite-plugin-svg-icons/dist/index.cjs to a dynamic import() which is available in all CommonJS modules.
09:53:26.234 at _require.extensions.<computed> [as .js] (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68696:17)
09:53:26.234 at Object.<anonymous> (/Users/edy/works/qa-h5/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1vite@7.0.4@types+node@24.0.14sass@1.89.2/node_modules/vite-plugin-svg-icons/dist/index.cjs:13:14)
09:53:26.234 at _require.extensions.<computed> [as .js] (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68696:17)
09:53:26.234 at Object.<anonymous> (/Users/edy/works/qa-h5/vite.config.js:36:36)
09:53:26.235 at _require.extensions.<computed> [as .js] (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68693:24)
09:53:26.235 at loadConfigFromBundledFile (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68701:21)
09:53:26.235 at async loadConfigFromFile (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68528:28)
09:53:26.235 at async resolveConfig (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:68138:28)
09:53:26.235 at async _createServer (file:///Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:64655:20)
09:53:26.235 at async createServer (/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/vite-plugin-uni/dist/cli/server.js:43:20)
09:53:26.235 at async CAC.runDev (/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/vite-plugin-uni/dist/cli/action.js:58:28)
1 个回复
DCloud_UNI_JBB
hx内部的vite版本是5.x,你这个7.x是怎么来的