index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import * as components from './components';
  2. import langZhCn from './i18n/zh-CN.js';
  3. import langEnUs from './i18n/en-US.js';
  4. export * from './components';
  5. export const install = function (app) {
  6. console.log('start install pc-component-v3.');
  7. app.mixin({
  8. beforeCreate() {
  9. var _self = this;
  10. // 判断是否为根节点,合并国际化信息
  11. if (this.$root === this && this.$i18n) {
  12. console.log('merge pc-component-v3 i18n.');
  13. _self.$i18n.mergeLocaleMessage('zh-CN', langZhCn);
  14. _self.$i18n.mergeLocaleMessage('en-US', langEnUs);
  15. }
  16. },
  17. });
  18. Object.keys(components).forEach(key => {
  19. const component = components[key];
  20. if (component.install) {
  21. console.log('install pc-component-v3 component: ' + component.name);
  22. app.use(component);
  23. }
  24. });
  25. console.log('pc-component-v3 install finished.');
  26. return app;
  27. };
  28. // const install = function (app, opts = {}) {
  29. // console.log('start install.');
  30. // /* istanbul ignore if */
  31. // // if (install.installed){
  32. // // console.log('pc-component-v3 already installed.');
  33. // // return;
  34. // // }
  35. // // Vue.use(VueI18n);
  36. // app.mixin({
  37. // beforeCreate() {
  38. // var _self = this;
  39. // // 这里为了防止 beforeCreate 比 vue-i18n 的 beforeCreate 先执行导致 this.$i18n 为空
  40. // this.$nextTick(() => {
  41. // // 判断是否为根节点,合并国际化信息
  42. // if (this.$root === this && this.$i18n) {
  43. // //if (this.$i18n) {
  44. // console.log('merge pc-component-v3 i18n.');
  45. // _self.$i18n.mergeLocaleMessage('zh-CN', langZhCn);
  46. // _self.$i18n.mergeLocaleMessage('en-US', langEnUs);
  47. // }
  48. // });
  49. // },
  50. // });
  51. // components.map(component => {
  52. // console.log('install component: ' + component.name);
  53. // app.component(component.name, component);
  54. // });
  55. // install.installed = true;
  56. // console.log('install finished.');
  57. // };
  58. let version = '1.0.28';
  59. export {
  60. version,
  61. };
  62. export default {
  63. install,
  64. version,
  65. };