Vue.js 中的全局事件总线——Vue $bus

Vue.js 提供了一种全局事件总线的机制——Vue $bus。 $bus 实例中可以订阅、发布、取消订阅触发的事件,在不同组件之间传递数据。这种机制简化了组件之间相互影响的复杂性,使得不同组件之间的通讯变得更加便捷。

一、Vue部署

Vue.js 是一个建立在 Vue.js 上的 UI 库。Vue.js 支持webpack 配置和vue-cli脚手架构建项目,如下面示例所示:

  npm install -g vue-cli
  vue init webpack myproject
  cd myproject
  npm install
  npm run dev 

在命令行界面中操作完成后,执行 npm run dev 启动 webpack 服务器。访问本地的 http://localhost:8080 即可看到页面。

二、Vue部署非跨域

当 Vue 部署到非跨域环境时,可以使用以下代码在 Vue 实例中添加一个 $bus 属性。

  const bus = new Vue()
    
  Object.defineProperty(Vue.prototype, '$bus', {
      get() {
          return bus
      }
  })

然后在不同的组件中,可以使用以下代码订阅事件:

  this.$bus.$on('eventName', (data)=>{
      // 处理数据
  })

还可以使用以下代码取消订阅事件:

  this.$bus.$off('eventName')

最后,在需要订阅事件的组件中,使用以下代码触发事件即可:

  this.$bus.$emit('eventName', data)

三、Vue部署在ipfs

使用 Vue 部署在 IPFS 中,需要在 Vue 项目的 dist 目录下,打包出一个网页发布到IPFS,如下面的示例所示:

  npm run build

然后会生成一个 dist 目录,此时将 dist 目录添加到 IPFS 中即可:

  ipfs add -w ./dist

添加完成后,会生成一个 hash ,访问以下链接便可查看 Vue 应用程序:

  https://ipfs.io/ipfs/your-hash/index.html

四、Vue部署Linux

将 Vue 部署到 Linux 系统中,需要在服务器中安装 Node.js、npm 和 pm2。安装完成后,在服务器中执行以下命令即可:

  npm run build
  pm2 start npm --name "app-name" -- start

此时 Vue 就部署在服务器中了,可以通过服务器的 IP 访问部署好的 Vue 应用程序。

五、Vue部署到服务器

在 Vue 项目中执行以下命令,将应用程序打包成一个可执行的文件:

  npm run build
  npx http-server dist/

执行完毕后,Vue 应用程序会部署在服务器上。

六、Vue部署nginx

将 Vue 部署到 Nginx 中,需要在 Nginx 配置文件中添加以下代码:

  location / {
    root /path/to/vuedir/dist; 
    index index.html; 
    try_files $uri $uri/ /index.html;
  }

执行完毕后,Vue 应用程序会部署在 Nginx 中。

总之,Vue.js 中的全局事件总线——Vue $bus 十分方便,可以为组件之间的通讯提供稳定、标准化的途径。此外,它还可以与不同的部署环境相适应,应用在不同场景和系统中,为 Vue 开发带来了很大的方便。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/243123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:54
下一篇 2024-12-12 12:54

相关推荐

  • 使用Vue实现前端AES加密并输出为十六进制的方法

    在前端开发中,数据传输的安全性问题十分重要,其中一种保护数据安全的方式是加密。本文将会介绍如何使用Vue框架实现前端AES加密并将加密结果输出为十六进制。 一、AES加密介绍 AE…

    编程 2025-04-29
  • 如何使用HTML修改layui内部样式影响全局

    如果您想要使用layui来构建一个美观的网站或应用,您可能需要使用一些自定义CSS来修改layui内部组件的样式。然而,修改layui组件的样式可能会对整个页面产生影响,甚至可能破…

    编程 2025-04-29
  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • 抖音外放亲妈下葬事件的背后真相

    近期,一段抖音外放亲妈下葬的视频引发广泛关注和热议。不少人对这个事件感到震惊和愤怒,认为这种行为非常不尊重亲人,触犯了社会公德和家庭道德。但是,事情真相到底是什么呢?我们有必要从多…

    编程 2025-04-28
  • Vue3的vue-resource使用教程

    本文将从以下几个方面详细阐述Vue3如何使用vue-resource。 一、安装Vue3和vue-resource 在使用vue-resource前,我们需要先安装Vue3和vue…

    编程 2025-04-27
  • ThinkPHP6 + Vue.js: 不使用Fetch的数据请求方法

    本文将介绍如何在ThinkPHP6和Vue.js中进行数据请求,同时避免使用Fetch函数。 一、AJAX:XMLHttpRequest的基础使用 在进行数据请求时,最基础的方式就…

    编程 2025-04-27
  • Vue模拟按键按下

    本文将从以下几个方面对Vue模拟按键按下进行详细阐述: 一、Vue 模拟按键按下的场景 在前端开发中,我们常常需要模拟按键按下的场景,比如在表单中填写内容后,按下“回车键”提交表单…

    编程 2025-04-27
  • 开发前端程序,Vue是否足够?

    Vue是一个轻量级,高效,渐进式的JavaScript框架,用于构建Web界面。开发人员可以使用Vue轻松完成前端编程,开发响应式应用程序。然而,当涉及到需要更大的生态系统,或利用…

    编程 2025-04-27
  • 如何通过knife4j设置全局token

    本文将介绍如何在使用knife4j作为接口文档管理工具时,通过设置全局token来提高接口文档的安全性。 一、什么是knife4j Knife4j是一款基于springfox的开源…

    编程 2025-04-27
  • cc.director.on事件监听器

    本文将从多个方面详细介绍Cocos Creator中的cc.director.on事件监听器。 一、cc.director.on的作用和用法 cc.director.on是Coco…

    编程 2025-04-27

发表回复

登录后才能评论