当前位置: 首页 > news >正文

基于全局构建版本和ES模块构建版本的vue3 快速上手

不使用脚手架工具,开发Vue3,分别用全局构建版本的Vue.js和ES模块构建版本的Vue.js,并结合选项式AP和组合式API,介绍快速入门。

使用全局构建版本

下载全局构建版本 Vue,该版本的所有顶层 API 都以属性的形式暴露在了全局的 Vue 对象上。这里有一个使用全局构建版本的例子:

  • 选项式 API (Options API)

<head>

    <meta charset="UTF-8" />

    <title>Document</title>

    <script src="./scripts/vue.global.js"></script>

  </head>

  <body>

    <div id="app">

      <p>{{msg}}</p>

      <p>姓名:{{name}}</p>

      姓名:<input type="text" v-model="name" /><br />

      <p>Count {{count}}</p>

      <button @click="add" style="font-size: 20px">1</button>

    </div>

    <script>

      const { createApp } = Vue;

      const app = createApp({

        data() {

          return {

            msg: "Hello, Vue3",

            name: "Jack",

            count: 10,

          };

        },

        methods: {

          add() {

            this.count++;

          },

        },

      });

      app.mount("#app");

    </script>

  </body>

  • 组合式 API (Composition API)

<head>

    <meta charset="UTF-8" />

    <title>Document</title>

    <script src="./scripts/vue.global.js"></script>

  </head>

  <body>

    <div id="app">

      <p>Message: {{message}}</p>

      <p>Count: {{count}}</p>

      <button @click="add">+1</button>

    </div>

    <script>

      const { createApp, ref } = Vue;

      createApp({

        setup() {

          message = ref("Hello, world");

          count = ref(1);

          function add() {

            count.value += 1;

          }

          return { message, count, add };

        },

      }).mount("#app");

    </script>

使用 ES 模块构建版本

更常用的是 ES 模块语法。现代浏览器大多都已原生支持 ES 模块。因此可以像这样通过 CDN 以及原生 ES 模块使用 Vue

组合式 API (Composition API)

   启用 Import maps方式引用,或者直接from中引入,都可以!

<head>

    <meta charset="UTF-8" />

    <title>Document</title>

    <!-- <script type="importmap">

      {

        "imports": { "vue": "./scripts/vue.esm-browser.js"

        }

      }

    </script> -->

  </head>

  <body>

    <div id="app">

      <p>{{msg}}</p>

      <button @click="change">更改</button>

    </div>

    <script type="module">

      // import { createApp, ref } from "vue";

      import { createApp, ref } from "./scripts/vue.esm-browser.js";

      const App = {

        setup() {

          let msg = ref("Jack");

          function change() {

            msg.value = "Kerwin";

          }

          return { msg, change };

        },

      };

      createApp(App).mount("#app");

    </script>

拆分模块

   官网例子:

<body>

    <div id="app"></div>

    <script type="module">

      import { createApp } from "./scripts/vue.esm-browser.js";

      import MyComponent from "./test06_component.js";

      createApp(MyComponent).mount("#app");

    </script>

  </body>

import { ref } from "./scripts/vue.esm-browser.js";

export default {

  setup() {

    let msg = ref("Jack");

    let count = ref(10);

    function add() {

      count.value += 1;

    }

    return { msg, count, add };

  },

  template: `

        <div>

        <p>Message: {{msg}}</p>

        <p>Count: {{count}}</p>

        <button @click="add">计数加1</button>

        </div>

        `,

};

http://www.lqws.cn/news/539299.html

相关文章:

  • LLM驱动开发:正在重塑软件工程的下一场革命
  • Maven生命周期与阶段扩展深度解析
  • GO 语言学习 之 语句块
  • vscode把less文件生成css文件配置,设置生成自定义文件名称和路径
  • FlutterPackages中的animations库升级适配Flutter3.27
  • Ubuntu18.04/Mysql 5.7 建立主备模式Mysql集群
  • 华为云Flexus+DeepSeek征文|Dify平台开发搭建口腔牙科24小时在线问诊系统(AI知识库系统)
  • C++学习笔记
  • 16.3 Docker生产级部署:网络与存储高效配置实战,保障99.95%可用性
  • 387. 字符串中的第一个唯一字符
  • uni-app uts 插件 android 端 科大讯飞离线语音合成最新版
  • 修改表中满足特定条件的字段值
  • elementUI轮播图组件el-carousel适配移动端大小(图片加载好后根据大小适配)
  • 抽样分布与参数估计细节
  • 如何在安卓设备上发送长视频:6 种可行的解决方案
  • GitHub Actions与AWS OIDC实现安全的ECR/ECS自动化部署
  • 从输入到路径:AI赋能的地图语义解析与可视化探索之旅
  • 远程办公与协作新趋势:从远程桌面、VDI到边缘计算,打造高效、安全的混合办公环境
  • Java底层原理:深入理解JVM内存模型与线程安全
  • 开发数字化绿色低碳园区系统:分阶段实施指南
  • 数据获取
  • word中如何保存高清图片,并保存为高质量的pdf文件(图像不失真)
  • 【Linux】基础开发工具(2)
  • 架构轻巧的kokoro 文本转语音模型
  • LeetCode 2302.统计得分小于K的子数组数目
  • Docker 入门教程(二):Docker 的基本原理
  • 大厂测开实习和小厂开发实习怎么选
  • python pandas数据清洗
  • NebulaGraph 图数据库介绍
  • 抖音图文带货和短视频带货有什么区别