Vue.js ES6 导入导出
Vue.js ES6 import export
好吧,我在使用 babel 导入 ES6 中的多个模块时遇到了问题。我正在尝试在 Vue.js 中将我的应用程序构建为模块化组件(或者准确地说是 Angular2 中的功能结构)
app/
moduleA/
components/
vuex/
index.js
routes.js
moduleB/
components/
vuex/
index.js
routes.js
index.js
routers.js
vuex.js
components.js
router/
vuex/
components/ -> shared
main.js
现在,我的问题是,如何导出和导入所有模块才能完美运行?
假设我有以下代码的 moduleA 路由
//moduleA/routes.js
export const routes = [
{ path: '', name: 'home', components: {
default: Home,
'header-top': Header
} }
];
再次为 moduleB 路由
//moduleA/routes.js
export const routes = [
{ path: '/user', components: {
default: User,
'header-bottom': Header
}, children: [
{ path: '', component: UserStart },
{ path: ':id', component: UserDetail },
{ path: ':id/edit', component: UserEdit, name: 'userEdit' }
] }
];
那么,我该如何导入并得到这个作品。请帮忙。
谢谢
你需要告诉根路由器和根 vuex 你的模块所在的位置。
所以,捆绑所有路线:
import { routes as moduleA } from './moduleA';
import { routes as moduleB } from './moduleB';
export default [ ...moduleA, ...moduleB, ];
对你的 vuex 做同样的事情:
import { vuex from moduleA } from './moduleA';
import { vuex as moduleB } from './moduleB';
export default { moduleA, moduleB, };
现在,在您的全局 vuex/
:
import Vue from 'vue';
import Vuex from 'vuex';
import vuex from '../app';
export default new Vuex.Store({
modules: vuex,
});
并且,对于您的 router/
:
import Vue from 'vue';
import Router from 'vue-router';
import { routers } from '../app';
Vue.use(Router);
export default new Router({
routes: routes,
});
好吧,我在使用 babel 导入 ES6 中的多个模块时遇到了问题。我正在尝试在 Vue.js 中将我的应用程序构建为模块化组件(或者准确地说是 Angular2 中的功能结构)
app/
moduleA/
components/
vuex/
index.js
routes.js
moduleB/
components/
vuex/
index.js
routes.js
index.js
routers.js
vuex.js
components.js
router/
vuex/
components/ -> shared
main.js
现在,我的问题是,如何导出和导入所有模块才能完美运行?
假设我有以下代码的 moduleA 路由
//moduleA/routes.js
export const routes = [
{ path: '', name: 'home', components: {
default: Home,
'header-top': Header
} }
];
再次为 moduleB 路由
//moduleA/routes.js
export const routes = [
{ path: '/user', components: {
default: User,
'header-bottom': Header
}, children: [
{ path: '', component: UserStart },
{ path: ':id', component: UserDetail },
{ path: ':id/edit', component: UserEdit, name: 'userEdit' }
] }
];
那么,我该如何导入并得到这个作品。请帮忙。
谢谢
你需要告诉根路由器和根 vuex 你的模块所在的位置。
所以,捆绑所有路线:
import { routes as moduleA } from './moduleA';
import { routes as moduleB } from './moduleB';
export default [ ...moduleA, ...moduleB, ];
对你的 vuex 做同样的事情:
import { vuex from moduleA } from './moduleA';
import { vuex as moduleB } from './moduleB';
export default { moduleA, moduleB, };
现在,在您的全局 vuex/
:
import Vue from 'vue';
import Vuex from 'vuex';
import vuex from '../app';
export default new Vuex.Store({
modules: vuex,
});
并且,对于您的 router/
:
import Vue from 'vue';
import Router from 'vue-router';
import { routers } from '../app';
Vue.use(Router);
export default new Router({
routes: routes,
});