【发布时间】:2017-05-02 16:11:06
【问题描述】:
我刚刚开始使用 Vue.JS,有一个小问题困扰着我。我的文件结构类似如下:
+ js
|--+ components
| |-- parent.vue
| |-- child.vue
|-- main.js
然后在我的 main.js 中,我有以下内容:
window.Vue = require('vue');
require('vue-resource');
Vue.component('parent', require('./Components/parent'));
Vue.component('child', require('./Components/child'));
var app = new Vue({ el: "#app" });
(我实际上不确定 vue-resource 是什么,但这是通过全新安装的 Laravel 5.3 为我设置的)
乍一看,我立即注意到如果我添加了太多组件,我的 main.js 文件将变得难以管理。我在使用 ReactJS 时没有这个问题,因为 main.js 只需要包含“父”组件,而父组件包含子组件。我认为 Vue.JS 会有一个类似的技巧来帮助我组织我的组件 - 但是阅读我没有找到的文档(也许我错过了它?)
有没有办法或者让 Vue 组件列出其依赖项(以便 Browserify / Webpack 捆绑)或在目录中的每个文件上递归地运行 javascript 语句(所以 Browserify / Webpack 只是打包了整个东西)?
我目前不关心异步组件 - 因此,如果解决方案破坏了该功能,那也没关系。有一天,我想尝试使用 Webpack 创建异步组件并仅在需要时加载它们,但今天我更感兴趣的是启动并运行它,这样我就可以玩 Vuex。
【问题讨论】:
-
您不必在主 JS 文件中通过
Vue.component列出每个组件 - 这仅适用于全局组件。您的每个主要组件都可以根据需要需要自己的子组件,而不会污染根级文件。 vuejs.org/v2/guide/components.html -
vue-resource: github.com/pagekit/vue-resource
标签: javascript webpack vue.js browserify vue-component