You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需前端构建工具,直接在浏览器环境中使用Vuelidate 2?

浏览器直接使用Vuelidate 2的最简方案

你之前执行的全局npm安装命令对当前需求没有帮助,你无需使用Browserify、Babel、Webpack等任何构建工具,即可直接在普通HTML页面中使用Vuelidate 2,使用官方预编译的UMD格式包即可。

操作步骤

  • 准备依赖文件:你可以选择两种方式获取可用的JS文件
    • 方式一:搜索获取公开的Vue 3、@vuelidate/core、@vuelidate/validators的UMD格式CDN资源
    • 方式二:从你已经全局安装的npm包目录中,提取@vuelidate/core/dist/index.umd.js、@vuelidate/validators/dist/index.umd.js两个文件,同时准备Vue 3的预编译浏览器用JS文件
  • 在你的HTML文件中,通过script标签按顺序引入Vue 3、Vuelidate核心包、校验规则包的JS文件
  • 直接在页面的script标签中编写业务代码即可,Vuelidate的所有API会挂载在window全局对象上,无需使用ES6 import语法

完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Vuelidate 2 浏览器试用示例</title>
  <!-- 按顺序引入Vue 3、Vuelidate核心包、校验规则包的JS文件 -->
  <script src="你的Vue 3 JS文件路径"></script>
  <script src="你的@vuelidate/core umd文件路径"></script>
  <script src="你的@vuelidate/validators umd文件路径"></script>
</head>
<body>
  <div id="app">
    <input v-model="form.email" placeholder="输入邮箱">
    <p v-if="v$.email.$error">请输入有效的邮箱地址</p>
    <button @click="submit">提交</button>
  </div>

  <script>
    const { useVuelidate } = window.Vuelidate
    const { email, required } = window.VuelidateValidators

    Vue.createApp({
      setup() {
        const form = Vue.reactive({
          email: ''
        })
        const rules = {
          email: { required, email }
        }
        const v$ = useVuelidate(rules, form)

        const submit = () => {
          v$.$validate().then(isValid => {
            if (isValid) {
              alert('校验通过')
            }
          })
        }

        return {
          form,
          v$,
          submit
        }
      }
    }).mount('#app')
  </script>
</body>
</html>

补充说明

  • 上述UMD格式的文件已经做了兼容性处理,不需要额外转译即可在绝大多数主流浏览器中运行
  • 目前绝大多数前端库都会打包UMD格式的预编译文件提供给非构建场景使用,文档通常默认优先展示面向SPA开发的npm安装方式,并不是没有浏览器可用的版本

内容的提问来源于stack exchange,提问作者xr280xr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 18:54:05