我正在开发Nuxt通用应用程序,其中我有两个布局,一个用于控制面板,一个用于前端UI .
我需要的是注册全局组件,但我需要它们只是特定布局的全局,我不想在我的前端应用程序的捆绑中下载不必要的脚本 .
有办法做到这一点吗?
根据docs全局组件在Vue原型上注册,可以从创建的Vue实例中的任何组件访问 . 这意味着,只要您使用单个实例,就会共享所有全局注册(组件,过滤器,混合等) .
所以,答案是没有简单的方法可以做到这一点,特别是当Nuxt.js负责webpack配置和路由分裂的基本部分时 .
应该在本地注册组件,以优化性能 .
您可能想要查看的另一个建议是,即使您优化了组件的加载,应用程序仍将加载所有已声明的存储模块,插件,外部库等 . 根据我的经验,最重要的是,一旦设置了自动部署该应用程序和一些更改必须部署到控制面板 - 整个站点将不得不进行维护 .
我认为将前端和控制面板分离到自己的应用程序是一种很好的做法,这样可以将责任分开,并且是向应用程序的前端部分提供最佳优化的唯一方法 .
控制面板通常在子域上可用,但可以在Web服务器上配置为子文件夹,例如, domain.com/control-panel .
domain.com/control-panel
两步可以解决您的问题:
然后添加下面的代码,
import Vue from 'vue' import your_component from '../your component directory/your_component.vue' Vue.component('your-component', your_component)
插件:['@ plugins / global_component.js'],
<template> <section class="container"> <your-component></your-component> </section> </template>
2 回答
根据docs全局组件在Vue原型上注册,可以从创建的Vue实例中的任何组件访问 . 这意味着,只要您使用单个实例,就会共享所有全局注册(组件,过滤器,混合等) .
所以,答案是没有简单的方法可以做到这一点,特别是当Nuxt.js负责webpack配置和路由分裂的基本部分时 .
应该在本地注册组件,以优化性能 .
您可能想要查看的另一个建议是,即使您优化了组件的加载,应用程序仍将加载所有已声明的存储模块,插件,外部库等 . 根据我的经验,最重要的是,一旦设置了自动部署该应用程序和一些更改必须部署到控制面板 - 整个站点将不得不进行维护 .
我认为将前端和控制面板分离到自己的应用程序是一种很好的做法,这样可以将责任分开,并且是向应用程序的前端部分提供最佳优化的唯一方法 .
控制面板通常在子域上可用,但可以在Web服务器上配置为子文件夹,例如,
domain.com/control-panel
.两步可以解决您的问题:
然后添加下面的代码,