当前位置: 首页 > 知识库问答 >
问题:

如何在Vite应用程序中将库作为插件导入?

家浩瀚
2023-03-14

我有一个新安装的VITE应用程序。

错误显示:

[vite]避免深度导入“vuelidate/lib/validators”(由/src/App.vue导入),因为“vuelidate”已由vite预先优化到单个文件中。倾向于直接从模块条目导入:

导入{…}来自“vuelidate”

如果依赖项需要深度导入才能正常工作,请将深度路径添加到optimizeDeps。包括在vite中。html" target="_blank">配置。js。

主要的js文件

import { createApp } from 'vue'
import Vuelidate from 'vuelidate'
Vue.use(Vuelidate)
import App from './App.vue'
import './index.css'
createApp(App).mount('#app')

应用程序。vue文件

<template>
  <div>
    <div class="form-group">
      <label class="form__label">Name</label>
      <input class="form__input" v-model.trim="$v.name.$model" />
    </div>
    <div class="error" v-if="!$v.name.required">Field is required</div>
    <div class="error" v-if="!$v.name.minLength">Name must have at least {{ $v.name.$params.minLength.min }} letters.</div>
    <tree-view :data="$v.name" :options="{ rootObjectKey: '$v.name', maxDepth: 2 }"></tree-view>
    <div class="form-group">
      <label class="form__label">Age</label>
      <input class="form__input" v-model.trim.lazy="$v.age.$model" />
    </div>
    <div class="error" v-if="!$v.age.between">Must be between {{ $v.age.$params.between.min }} and {{ $v.age.$params.between.max }}</div>
    <span tabindex="0">Blur to see changes</span>
    <tree-view :data="$v.age" :options="{ rootObjectKey: '$v.age', maxDepth: 2 }"></tree-view>
  </div>
</template>

<script lang="ts">
import { required, minLength, between } from "vuelidate/lib/validators";

export default {
  name: "App",
  data() {
    return {
      name: "",
      age: 0,
    };
  },
  validations: {
    name: {
      required,
      minLength: minLength(4),
    },
    age: {
      between: between(20, 30),
    },
  },
};
</script>

我非常确定,我必须为optimizeDeps添加深层路径。包括在vite中。配置。js。全局使用vuelidate。

我在vite上试过几句话。配置。js类似文件

optimizeDeps.include = "/node_modules/vuelidate/lib/validators"

说:

[vite]无法从E:\test\vue\vite加载配置。配置。js:

optimizeDeps = "/node_modules/vuelidate/lib/validators"

在控制台上说:

未捕获的语法错误:找不到导入:minLength

https://github.com/vitejs/vite#bare-模块解析

这是否意味着我不能使用Vue。将(插件)与vite_3;一起使用?

共有1个答案

潘自强
2023-03-14

vite Github页面上写着“请Vue用户注意:vite目前仅适用于Vue 3.x。这也意味着您不能使用与Vue 3不兼容的库。”

Vuelidate网站的主页上有:“针对Vue.js 2.0的简单、轻量级的基于模型的验证”。

因此,即使Vuelidate可以与Vue 3一起使用,Vite也不能与不兼容的库一起使用。

我猜你在这里的选择是找到一个不同的验证器,或者放弃使用Vite。

 类似资料:
  • 问题内容: 我想挂断来电,检测到它,然后挂断。 问题是:这没有解决。 我试图将包添加到我的应用程序并创建接口: 但通话并未结束。 在这里,我检测到呼叫,显示toast(已显示),然后尝试挂断,但是正如我首先说的那样,com.android.internal.telephony.ITelephony在创建该程序包之前没有: 我的清单和权限: 问题答案: 该ITelephony接口是内部接口,因此您无

  • 问题内容: 如何使用JFileChooser将文本文件内容导入Java应用程序中的JTextArea? 问题答案: 应该类似于以下代码: 路卡

  • 我将WindowBuilder安装到Eclipse上,并创建了由一个类组成的程序。此类由WinowsBuilder直接生成,只包含一个空窗口。我可以在eclipse上运行这个程序。我将程序导出到jar文件,但当我尝试启动它时,它会抛出错误。错误显示“Java JAR”gui。jar“无法启动”我试着遵循这个教程http://wiki.eclipse.org/FAQ_How_do_I_create_

  • 在一个常规的Java应用程序中,我有一个BufferedImage,我想使用ImageJ来操作它。我有一个宏,这正是我需要执行的。我怀疑第一步是制作一个ImagePlus对象,但我不确定如何然后从Java内部在ImagePlus对象上运行一个宏。这里找到的ImageJ教程的第7.3节说: 如果您决定使用ImagePlus作为内部图像格式,您还可以使用ImageJ发行版中的所有插件和宏,以及所有其他

  • 我在公用文件夹中有一个javascript文件,我想将该文件导入src/components文件夹中的组件。 但我不能在我的组件中做这样的事情: 因为我得到了以下错误: 找不到模块:您试图导入项目src/目录之外的.../.../public/recorder。不支持src/之外的相对导入。您可以将其移动到src/中,也可以从项目的node_modules/中添加符号链接。 据我所知,它不允许在

  • 这是我的简单测试用例: 正因为如此: 点击后,我会更改,所以我想在这里访问我的属性,以检查是否真的发生了更改。 我注意到有一件奇怪的事情,当我构建我的应用程序并检查构建的内容时,我的UITest目标没有构建。这很重要吗?