我正在尝试将Ant Design 作为模块添加到Nuxt3项目中。
import { fileURLToPath } from "node:url"
import { defineNuxtModule } from "@nuxt/kit"
export default defineNuxtModule({
setup (_, nuxt) {
nuxt.options.css.push("ant-design-vue/dist/antd.css")
},
hooks: {
"components:dirs" (dirs) {
dirs.push({
path: fileURLToPath( new URL('../node_modules/ant-design-vue/lib', import.meta.url) ),
pattern: '*/index.js',
prefix: 'a',
})
}
}
})但它给出了一个错误:
默认的加载程序只支持格式为: file、data的URL。在Windows上,绝对路径必须是有效文件://URL。接收协议'c:'
我试图通过path.resolve(__dirname, '...')使用,但没有成功
节点: v16.15.0 Nuxt: 3.0.0-rc.3 ant-design-vue: 3.2.5
发布于 2022-06-10 06:07:33
经过两天的研究,终于得到了解决方案。
在NUXT 3项目中添加ant-design-vue和图标
npm i ant-design-vue @ant-design/icons-vue unplugin-vue-components --save中
// nuxt.config.ts
import { defineNuxtConfig } from 'nuxt'
import Components from 'unplugin-vue-components/vite';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
export default defineNuxtConfig({
vite: {
plugins: [
Components({
// add option {resolveIcons: true} as parameter for resolving problem with icons
resolvers: [AntDesignVueResolver({resolveIcons: true})],
}),
],
// @ts-expect-error: Missing ssr key
ssr: {
noExternal: ['moment', 'compute-scroll-into-view', 'ant-design-vue','@ant-design/icons-vue'],
},
},
})auto-importing的魔力,
https://stackoverflow.com/questions/72555420
复制相似问题