laravel - Laravel 中的 VUE2 组件注册

标签 laravel vuejs2

Laravel(5.8) 和 VUE 一起工作得很好,但我的 app.js 变得越来越大。

例如,我有以下 app.js:

window.Vue = require('vue');

window.Vue.component('Comp1', require('./components/Comp1.vue').default);
window.Vue.component('Comp2', require('./components/Comp2.vue').default);
window.Vue.component('Comp3', require('./components/Comp3.vue').default);

window.mainApp = new Vue({
  el: '#app'
});

在实际情况下,我有大约 30 个组件 + 第三方,结果是 1.2mb 的 JS 用于生产。

所以,我试图在许多“区域相关”js 中破坏 app.js 文件,只是拆分,所以我会有类似的东西:

应用程序.js:
window.Vue = require('vue');
window.mainApp = new Vue({
  el: '#app'
});

appMainComp.js:
window.Vue.component('Comp1', require('./components/Comp1.vue').default);
window.Vue.component('Comp2', require('./components/Comp2.vue').default);

appOtherComp.js:
window.Vue.component('Comp3', require('./components/Comp3.vue').default);

现在,捕获了。我在 app.js “window.mainApp = new Vue({ el: '#app'});”之后注册的所有东西不要注册。

那么,有没有办法在我的“mainApp”创建后注册一个组件?就像是
mainApp.addComponent('./components/Comp1.vue');

或者任何其他方式来破坏多个文件中的 app.js ?

最佳答案

而不是将组件分成组(顺便说一句有趣的想法)。你能做这样的事情吗?
Dynamic Imports in Vue.js

Whenever it’s possible, I’d recommend to use dynamic imports to import components. They will be lazily loaded (by Webpack) when needed.



//Instead of a usual import
import MyComponent from "~/components/MyComponent.js";

//do this
const MyComponent = () => import("~/components/MyComponent.js");

关于laravel - Laravel 中的 VUE2 组件注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60376054/

相关文章:

ios - 是什么导致了这个 vue-router 异步组件错误 - TypeError : undefined is not an object (evaluating 't.__esModule' )?

vue.js - vue中输入失去焦点时如何执行函数

javascript - 理解Vue中的 'this'关键字

javascript - 类型错误 : Cannot read property 'add' of undefined"Flatpickr & Vue. js

php - Laravel 数据库外观内存使用情况

php - Laravel Eloquent 如何使用 between operator

javascript - Laravel 5.3 中新的 app.js 的目的是什么?

mysql - 我需要帮助在 MySQL 中找到此查询的解决方案吗?

php - 带联合的 Laravel 作用域

javascript - Vue : components inside component