Vue3项目安装keen-ui 1.3.1后引入报错(非TypeScript环境)
解决Vue3项目引入keen-ui 1.3.1时的TS类型声明错误
虽然你没使用TypeScript,但Vue3默认项目配置(不管是Vite还是Vue CLI创建的)大概率包含了TypeScript相关的类型检查逻辑,才会触发这个错误。以下是几种可行的解决办法:
方法1:添加自定义类型声明文件
在项目根目录的src文件夹下创建types目录(没有就新建),然后在该目录里创建keen-ui.d.ts文件,写入以下内容:
declare module 'keen-ui';
之后确保项目里的tsconfig.json(哪怕不用TS,项目通常也会有这个配置文件)的include数组包含这个类型文件路径,比如:
{ "include": ["src/**/*", "src/types/**/*.d.ts"] }
方法2:修改配置关闭不必要的类型检查
如果是Vite项目,在vite.config.js里添加配置,跳过对keen-ui的类型检查:
export default defineConfig({ // ...其他原有配置 resolve: { alias: { 'keen-ui': 'keen-ui/dist/keen-ui.js', }, }, esbuild: { // 关闭类型检查 tsconfigRaw: '{}' } })
如果是Vue CLI项目,可以在vue.config.js中配置:
module.exports = { configureWebpack: { module: { rules: [ { test: /\.js$/, exclude: /node_modules\/keen-ui/, use: 'babel-loader' } ] } } }
另外也可以在项目根目录创建jsconfig.json,添加以下内容:
{ "compilerOptions": { "noImplicitAny": false }, "exclude": ["node_modules"] }
方法3:直接用CDN引入(临时应急方案)
在public/index.html中直接引入keen-ui的CDN资源:
<link rel="stylesheet" href="https://unpkg.com/keen-ui@1.3.1/dist/keen-ui.min.css"> <script src="https://unpkg.com/keen-ui@1.3.1/dist/keen-ui.min.js"></script>
之后在Vue组件里无需import,直接使用全局注册的组件即可:
<template> <ui-popover>你的弹窗内容</ui-popover> </template>
内容的提问来源于stack exchange,提问作者Maykel
相关产品推荐
相关产品推荐

