网上各种版本都有,就是都不太行,不太完整。
先看下package.json
{ "private": true, "scripts": { "build": "nuxt build", "dev": "nuxt dev", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare" }, "devDependencies": { "nuxt": "3.0.0-rc.11", "sass": "^1.49.8", "sass-loader": "^12.6.0", "unplugin-auto-import": "^0.10.3", "unplugin-icons": "^0.13.2", "unplugin-vue-components": "^0.22.8" }, "dependencies": { "element-plus": "^2.2.17" } }
tsconfig.json
{ // https://v3.nuxtjs.org/concepts/typescript "extends": "./.nuxt/tsconfig.json", "compilerOptions": { // ... "types": ["element-plus/global"] } }
nuxt.config.ts
import AutoImport from 'unplugin-auto-import/vite' import Components from "unplugin-vue-components/vite"; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import IconsResolver from "unplugin-icons/resolver"; const lifecycle = process.env.npm_lifecycle_event; export default defineNuxtConfig({ vite: { plugins: [ AutoImport({ resolvers: [ ElementPlusResolver( ), IconsResolver()] }), Components({ dts: true, resolvers: [ElementPlusResolver( { importStyle: false } )] }), ], }, components: true, css: ["~/assets/scss/index.scss"], transpile: ["element-plus"], build: { transpile: lifecycle === "build" ? ["element-plus"] : [], }, })
按照上面的配置在代码中就可以直接引用组件了,例如index.vue中的按钮
<template> <div> <h1>Welcome to the homepage</h1> <AppAlert> This is an auto-imported component </AppAlert> <el-button>I am ElButton</el-button> <div> <el-radio-group v-model="radio1" size="large"> <el-radio-button label="New York" /> <el-radio-button label="Washington" /> <el-radio-button label="Los Angeles" /> <el-radio-button label="Chicago" /> </el-radio-group> </div> </div> </template> <script lang="ts" setup> import { ref } from "vue"; const radio1 = ref('New York') </script> <style lang='scss' scoped> </style>
这时候可能会报错如下
ElementPlusError: [IdInjection] Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed usage: app.provide(ID_INJECTION_KEY, { prefix: number, current: number, }) at debugWarn (file:///E:/h5/vuestudy/vue3Study/nuxt-app/node_modules/element-plus/es/utils/error.mjs:15:37) at useId (file:///E:/h5/vuestudy/vue3Study/nuxt-app/node_modules/element-plus/es/hooks/use-id/index.mjs:16:5) at setup (file:///E:/h5/vuestudy/vue3Study/nuxt-app/node_modules/element-plus/es/components/radio/src/radio-group2.mjs:26:21) at callWithErrorHandling (E:\h5\vuestudy\vue3Study\nuxt-app\node_modules\@vue\runtime-core\dist\runtime-core.cjs.js:157:22) at setupStatefulComponent (E:\h5\vuestudy\vue3Study\nuxt-app\node_modules\@vue\runtime-core\dist\runtime-core.cjs.js:7118:29) at setupComponent (E:\h5\vuestudy\vue3Study\nuxt-app\node_modules\@vue\runtime-core\dist\runtime-core.cjs.js:7073:11) at renderComponentVNode (E:\h5\vuestudy\vue3Study\nuxt-app\node_modules\@vue\server-renderer\dist\server-renderer.cjs.js:172:17) at Module.ssrRenderComponent (E:\h5\vuestudy\vue3Study\nuxt-app\node_modules\@vue\server-renderer\dist\server-renderer.cjs.js:612:12) at _sfc_ssrRender (E:/h5/vuestudy/vue3Study/nuxt-app/pages/index.vue:58:31) a
这是因为 在SSR下elementui需要配置一个provide
需要在 plugins文件夹下建立一个element-plus.ts
import { ID_INJECTION_KEY } from 'element-plus'; export default defineNuxtPlugin(nuxtApp => { // Doing something with nuxtApp nuxtApp.vueApp.provide(ID_INJECTION_KEY,{ prefix: Math.floor(Math.random() * 10000), current: 0, }) })
然后再进行重启服务 npm run dev,就可以运行正常了,控制台也不会有警告和错误了
这一次的节点更新覆盖了美国、欧洲、韩国、日本、新加坡、香港、加拿大等地区,最高速度可达21 M/S。只需复制下方的Clash/v2ray订阅链接,在客户端添加后即可正常使用。
摘要: 本篇文章给大家谈谈取消动物防疫收费通知范文,以及取消动物防疫收费通知范文怎么写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录一览:1、幼儿园寒假作业收费通知怎么..
在 Win10 下,没有 WISPTIS 服务进程,和 win7 不相同。但是 WPF 依然通过 PENIMC 从 COM 获取实时触摸消息,那么 WPF 是从哪里获取 通过 WindowDebugg
这一次的节点更新覆盖了香港、日本、韩国、加拿大、美国、欧洲、新加坡等地区,最高速度可达20.5 M/S。只需复制下方的Clash/v2ray订阅链接,在客户端添加后即可正常使用。
修改项目默认node_modules路径 npm install --global xxx 属于全局安装npm install xxx 属于本地安装1、全局路径Windows下的Nodejs npm路
大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。 有没有办法不保存镜像而直接修改
这一次的节点更新覆盖了美国、韩国、日本、香港、新加坡、欧洲、加拿大等地区,最高速度可达21.2 M/S。只需复制下方的Clash/v2ray订阅链接,在客户端添加后即可正常使用。
摘要: 本篇文章给大家谈谈动物疫苗间隔时间多长有效期,以及动物疫苗注射后多久产生抗体对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录一览:1、狗狗要隔多久打一次疫苗?要打..
这一次的节点更新覆盖了日本、加拿大、新加坡、韩国、欧洲、香港、美国等地区,最高速度可达20.3 M/S。只需复制下方的Clash/v2ray订阅链接,在客户端添加后即可正常使用。
摘要: 本篇文章给大家谈谈人用注射器和兽用注射器有什么区别,以及医用注射器和兽用注射器有什么区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录一览:1、刚买的兽医用的注..