You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

JCUI UI

JCUI UI 是基于Element UI二次开发的Vue组件库提供企业软件开发时常用的组件过滤器指令等

安装

npm install jc-ui

使用时需要安装Element UI

npm install element-ui

因为需要使用scss所以需要安装sass

npm install -D sass-loader@10.1.0 sass@1.43.4

完整引入

import Vue from 'vue';
import ElementUI from 'element-ui'
import JCUI from 'jc-ui';
import "jc-ui/src/styles/index.scss"; // 已经包含了element ui的scss
import App from './App.vue';

Vue.use(ElementUI);
Vue.use(JCUI);

new Vue({
  el: '#app',
  render: h => h(App)
});

按需引入

借助 babel-plugin-import我们可以只引入需要的组件以达到减小项目体积的目的。

首先,安装 babel-plugin-component

npm install babel-plugin-import -D

然后,在 babel.config.js 中写入以下内容:

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    [
      "import",
      {
        "libraryName": "jc-ui",
        "customStyleName": (name) => {
          return `jc-ui/src/styles/components/${name}.scss`;
        },
      },
    ],
  ]
}

接下来,就可以引入部分组件,比如 SearchBar 和 Table那么需要在 main.js 中写入以下内容:

import Vue from 'vue';
import ElementUI from 'element-ui'
import 'jc-ui/src/styles/require.scss'; // 已经包含了element ui的scss
import {SearchBar, Table} from 'jc-ui';
import App from './App.vue';

Vue.use(ElementUI);
Vue.use(SearchBar);
Vue.use(Table);

new Vue({
  el: '#app',
  render: h => h(App)
});

国际化

使用vue-i18n

import Vue from 'vue';
import JCUI from 'jc-ui';
import "jc-ui/src/styles/index.scss"; // 已经包含了element ui的scss
import zhCN from "jc-ui/src/locale/lang/zh-CN";
import App from './App.vue';

const message = {
  'zh-CN': {
    hello: '你好',
    ...zhCN
  }
}

const i18n = new VueI18n({
  locale: 'zh-CN',
  messages,
});

Vue.use(JCUI, {
  i18n: (key, value) => i18n.t(key, value)
});

new Vue({
  el: '#app',
  i18n,
  render: h => h(App)
});

致谢

  • Element 感谢 Element 提供的优秀组件库

Copyright (c) 2014-2023 JCUI, All rights reserved.

Licensed under The GNU General Public License version 3 (GPLv3) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.gnu.org/licenses/gpl-3.0.html

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an " AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.