首页 > 其他分享 >Element-plus按需导入后,组件的正确使用和使用组件时TS报错找不到名称“xxxx”

Element-plus按需导入后,组件的正确使用和使用组件时TS报错找不到名称“xxxx”

时间:2023-07-05 17:44:56浏览次数:36  
标签:xxxx TS ts 导入 报错 组件 import

1. 按需导入后使用组件

Element-plus组件库的示例代码中,都import导入了组件,如:

<template>
  <el-button type="primary" @click="openFullScreen2"> As a service </el-button>
</template>

<script lang="ts" setup>
import { ElLoading } from 'element-plus'

const openFullScreen2 = () => {
  const loading = ElLoading.service({
    lock: true,
    text: 'Loading',
    background: 'rgba(0, 0, 0, 0.7)',
  })
  setTimeout(() => {
    loading.close()
  }, 2000)
}
</script>

很多人就跟着复制了代码,包含了import语句,然后这时候去看界面,发现样式有问题,这是因为我们手动导入了组件,但没手动导入样式。但我们之前已经配置过按需导入了,那为什么没给我们导入样式呢?

那是因为我们自己手动去导入了组件,导致我们之前的webpack配置没有生效。所以解决方案就是,直接注释掉import导入。

如果你项目中使用了TypeScript,那么你就会发现第二个问题了: TS报错找不到名称“ElLoading”。

2. TS报错找不到名称XXX

通过配置按需导入,插件会自动为我们生成一个文件auto-imports.d.ts,这个文件就是组件的TS声明文件,但是项目中的ts配置未加载到这个文件。

解决办法就是所以在tsconfig.json中的include字段中添加auto-imports.d.ts就可以了:

"include": [
    "auto-imports.d.ts",
 ]

标签:xxxx,TS,ts,导入,报错,组件,import
From: https://www.cnblogs.com/fuct/p/17529394.html

相关文章

  • Nacivate 连接远程mysql时 报错 Lost connection to MySQL server at ‘reading initi
    出现这种报错首先要检查第一:查看mysql的配置文件 /etc/my.cnf,根据服务器的不同以及安装的mysql版本有的是配置文件/etc/mysql/conf.d/50.server.confstep1:注释bind-address=127.0.0.1这句step2:找到[mysqld]部分的参数,在配置后面建立一个新行,添加skip-name-resolve......
  • SpringMVC框架详解:模型+核心组件+实现原理等详解
     MVC模型SpringMVC基于MVC模式,因此理解SpringMVC需要先对MVC模式有所了解。MVC是model、view、和controller的缩写,是软件开发中一种常用的架构模式。MVC各部分根据职责进行分离,使程序的结构更为直观,增加了程序的可扩展性、可维护性、可复用性。可以用如下的图形来......
  • echarts 在使用dataZoom时报错,Cannot read properties of undefined (reading 'type')
    今天我再vue中使用柱状图拖动时,一直报错Cannotreadpropertiesofundefined(reading'type')。原因如下,我使用了myChart来接收数据,当myChart使用的是vue的ref或者reactive来命名的变量,如果这样子命名就会报上述错误。myChart=echarts.init(statistical......
  • 【快应用】ad-button按钮与加桌组件文案调试
    ​ 【关键词】体验版、文案配置、广告、加桌 【问题背景】快应用引擎版本更新到1106版本后,广告ad-button和加桌组件新增了预制文案配置,仅支持使用已有的,不再支持自定义文案。在使用最新版本的加载器进行调试的时候,设置的文案不能生效仍是显示的是默认的文案,该如何处理?代码......
  • 修复idea lombok报错
    错误信息:Youaren'tusingacompilersupportedbylombok,solombokwillnotworkandhasbeendisabled.Yourprocessoris:com.sun.proxy.$Proxy8Lomboksupports:sun/applejavac1.6,ECJ 解决:编译器-共享构建过程VM选项:-Djps.track.ap.dependencies=false......
  • 10:vue3 组件注册方式(全局注册和局部注册)
    组件注册方式一个Vue组件在使用前需要先被“注册”,这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式:全局注册和局部注册。全局注册将09节课程的Header组件进行全局注册演练在main.js中添加Header.vue组件的注册1import{createApp}from'vue'2impo......
  • API6中JS UI实现富文本组件居右显示
    ​ 【关键字】RichText、富文本组件、API6、JS UI、居右显示 【关键代码如下】index.hml<divclass="container"><divclass="top"><richtext@start="onLoadStart"@complete="onLoadEnd"class="rich">{{con......
  • vue3子组件向父组件传参
    《好记性不如烂笔头系列》子组件<template><divclass="protocolstyle"><van-checkboxv-model="checked"toggle@click="userProtocolClick"></van-checkbox><spanclass="marginL5">测试数据</span......
  • Element-plus按需导入报错:Error: Cannot find module 'node:module'
    1.问题vue3项目使用ElementPlus组件库,配置按需导入:首先安装unplugin-vue-components和unplugin-auto-import这两款插件npminstall-Dunplugin-vue-componentsunplugin-auto-import然后按照文档在配置文件中进行相关配置;因为更改了配置文件,所以得重新启动项目--......
  • 09: vue3 组件嵌套关系
    组件嵌套关系组件允许我们将UI划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状结构:这和我们嵌套HTML元素的方式类似,Vue实现了自己的组件模型,使我们可以在每个组件内封装自定义内容与逻辑。创建组件及引用关系......