t-comm
Version:
专业、稳定、纯粹的工具库
66 lines (61 loc) • 2.09 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vueStart_helper_initApp_v2 = require('./helper/init-app/v2.js');
var vueStart_helper_initConfig_v2 = require('./helper/init-config/v2.js');
var vueStart_helper_initMixin_index = require('./helper/init-mixin/index.js');
var vueStart_helper_initRouter_v2 = require('./helper/init-router/v2.js');
var vueStart_helper_initStore_v2 = require('./helper/init-store/v2.js');
var vueStart_helper_initVLazy_initVLazy = require('./helper/init-v-lazy/init-v-lazy.js');
require('../tslib.es6-01322ba9.js');
require('./helper/init-config/helper.js');
require('./helper/init-router/helper.js');
require('../v-lazy/v-lazy.js');
require('../image/image.js');
require('@babel/runtime/helpers/typeof');
var router;
var store;
/**
* Vue项目初始化
* @param {object} options 业务自定义配置
* @param {object} options.App 业务App.vue对象
* @param {Array<object>} [options.routerMap] 业务路由配置表
* @param {Function} [options.beforeStart] 钩子函数,业务自定义
* @param {boolean} [options.i18n] 支持国际化
* @returns {object} 返回 { router, store }
*/
function startApp(options) {
if (!options.Vue) {
console.warn('startApp need Vue');
return;
}
if (!options.App) {
console.warn('startApp need App');
return;
}
createRouterAndStore(options);
if (!options.noDependMixins) {
vueStart_helper_initMixin_index.initMixin(options.Vue, options);
}
vueStart_helper_initConfig_v2.initConfig(options.Vue);
vueStart_helper_initVLazy_initVLazy.initVLazy(options);
if (typeof options.beforeStart === 'function') {
options.beforeStart(router, store);
}
vueStart_helper_initApp_v2.initApp(options, router, store);
return {
router: router,
store: store
};
}
/**
* 创建路由和Store
* @private
*/
function createRouterAndStore(options) {
if (router || store) {
return;
}
router = vueStart_helper_initRouter_v2.initRouter(options);
store = vueStart_helper_initStore_v2.initStore(options);
}
exports.startApp = startApp;