mirror of https://github.com/ElemeFE/element
optimize build.entry.js
parent
0e13dab680
commit
6436d6c816
|
@ -6,19 +6,25 @@ var path = require('path');
|
||||||
|
|
||||||
var OUTPUT_PATH = path.join(__dirname, '../../src/index.js');
|
var OUTPUT_PATH = path.join(__dirname, '../../src/index.js');
|
||||||
var IMPORT_TEMPLATE = 'import {{name}} from \'../packages/{{package}}\';';
|
var IMPORT_TEMPLATE = 'import {{name}} from \'../packages/{{package}}\';';
|
||||||
var INSTALL_COMPONENT_TEMPLATE = ' Vue.component({{name}}.name, {{name}});';
|
var INSTALL_COMPONENT_TEMPLATE = ' {{name}}';
|
||||||
var MAIN_TEMPLATE = `/* Automatic generated by './build/bin/build-entry.js' */
|
var MAIN_TEMPLATE = `/* Automatic generated by './build/bin/build-entry.js' */
|
||||||
|
|
||||||
{{include}}
|
{{include}}
|
||||||
import locale from 'element-ui/src/locale';
|
import locale from 'element-ui/src/locale';
|
||||||
|
|
||||||
|
const components = [
|
||||||
|
{{install}}
|
||||||
|
];
|
||||||
|
|
||||||
const install = function(Vue, opts = {}) {
|
const install = function(Vue, opts = {}) {
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (install.installed) return;
|
if (install.installed) return;
|
||||||
locale.use(opts.locale);
|
locale.use(opts.locale);
|
||||||
locale.i18n(opts.i18n);
|
locale.i18n(opts.i18n);
|
||||||
|
|
||||||
{{install}}
|
components.map(component => {
|
||||||
|
Vue.component(component.name, component);
|
||||||
|
});
|
||||||
|
|
||||||
Vue.use(Loading.directive);
|
Vue.use(Loading.directive);
|
||||||
|
|
||||||
|
@ -74,7 +80,7 @@ ComponentNames.forEach(name => {
|
||||||
|
|
||||||
var template = render(MAIN_TEMPLATE, {
|
var template = render(MAIN_TEMPLATE, {
|
||||||
include: includeComponentTemplate.join('\n'),
|
include: includeComponentTemplate.join('\n'),
|
||||||
install: installTemplate.join('\n'),
|
install: installTemplate.join(',\n'),
|
||||||
version: process.env.VERSION || require('../../package.json').version,
|
version: process.env.VERSION || require('../../package.json').version,
|
||||||
list: listTemplate.join(',\n')
|
list: listTemplate.join(',\n')
|
||||||
});
|
});
|
||||||
|
|
118
src/index.js
118
src/index.js
|
@ -62,68 +62,74 @@ import Collapse from '../packages/collapse';
|
||||||
import CollapseItem from '../packages/collapse-item';
|
import CollapseItem from '../packages/collapse-item';
|
||||||
import locale from 'element-ui/src/locale';
|
import locale from 'element-ui/src/locale';
|
||||||
|
|
||||||
|
const components = [
|
||||||
|
Pagination,
|
||||||
|
Dialog,
|
||||||
|
Autocomplete,
|
||||||
|
Dropdown,
|
||||||
|
DropdownMenu,
|
||||||
|
DropdownItem,
|
||||||
|
Menu,
|
||||||
|
Submenu,
|
||||||
|
MenuItem,
|
||||||
|
MenuItemGroup,
|
||||||
|
Input,
|
||||||
|
InputNumber,
|
||||||
|
Radio,
|
||||||
|
RadioGroup,
|
||||||
|
RadioButton,
|
||||||
|
Checkbox,
|
||||||
|
CheckboxGroup,
|
||||||
|
Switch,
|
||||||
|
Select,
|
||||||
|
Option,
|
||||||
|
OptionGroup,
|
||||||
|
Button,
|
||||||
|
ButtonGroup,
|
||||||
|
Table,
|
||||||
|
TableColumn,
|
||||||
|
DatePicker,
|
||||||
|
TimeSelect,
|
||||||
|
TimePicker,
|
||||||
|
Popover,
|
||||||
|
Tooltip,
|
||||||
|
Breadcrumb,
|
||||||
|
BreadcrumbItem,
|
||||||
|
Form,
|
||||||
|
FormItem,
|
||||||
|
Tabs,
|
||||||
|
TabPane,
|
||||||
|
Tag,
|
||||||
|
Tree,
|
||||||
|
Alert,
|
||||||
|
Slider,
|
||||||
|
Icon,
|
||||||
|
Row,
|
||||||
|
Col,
|
||||||
|
Upload,
|
||||||
|
Progress,
|
||||||
|
Spinner,
|
||||||
|
Badge,
|
||||||
|
Card,
|
||||||
|
Rate,
|
||||||
|
Steps,
|
||||||
|
Step,
|
||||||
|
Carousel,
|
||||||
|
Scrollbar,
|
||||||
|
CarouselItem,
|
||||||
|
Collapse,
|
||||||
|
CollapseItem
|
||||||
|
];
|
||||||
|
|
||||||
const install = function(Vue, opts = {}) {
|
const install = function(Vue, opts = {}) {
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (install.installed) return;
|
if (install.installed) return;
|
||||||
locale.use(opts.locale);
|
locale.use(opts.locale);
|
||||||
locale.i18n(opts.i18n);
|
locale.i18n(opts.i18n);
|
||||||
|
|
||||||
Vue.component(Pagination.name, Pagination);
|
components.map(component => {
|
||||||
Vue.component(Dialog.name, Dialog);
|
Vue.component(component.name, component);
|
||||||
Vue.component(Autocomplete.name, Autocomplete);
|
});
|
||||||
Vue.component(Dropdown.name, Dropdown);
|
|
||||||
Vue.component(DropdownMenu.name, DropdownMenu);
|
|
||||||
Vue.component(DropdownItem.name, DropdownItem);
|
|
||||||
Vue.component(Menu.name, Menu);
|
|
||||||
Vue.component(Submenu.name, Submenu);
|
|
||||||
Vue.component(MenuItem.name, MenuItem);
|
|
||||||
Vue.component(MenuItemGroup.name, MenuItemGroup);
|
|
||||||
Vue.component(Input.name, Input);
|
|
||||||
Vue.component(InputNumber.name, InputNumber);
|
|
||||||
Vue.component(Radio.name, Radio);
|
|
||||||
Vue.component(RadioGroup.name, RadioGroup);
|
|
||||||
Vue.component(RadioButton.name, RadioButton);
|
|
||||||
Vue.component(Checkbox.name, Checkbox);
|
|
||||||
Vue.component(CheckboxGroup.name, CheckboxGroup);
|
|
||||||
Vue.component(Switch.name, Switch);
|
|
||||||
Vue.component(Select.name, Select);
|
|
||||||
Vue.component(Option.name, Option);
|
|
||||||
Vue.component(OptionGroup.name, OptionGroup);
|
|
||||||
Vue.component(Button.name, Button);
|
|
||||||
Vue.component(ButtonGroup.name, ButtonGroup);
|
|
||||||
Vue.component(Table.name, Table);
|
|
||||||
Vue.component(TableColumn.name, TableColumn);
|
|
||||||
Vue.component(DatePicker.name, DatePicker);
|
|
||||||
Vue.component(TimeSelect.name, TimeSelect);
|
|
||||||
Vue.component(TimePicker.name, TimePicker);
|
|
||||||
Vue.component(Popover.name, Popover);
|
|
||||||
Vue.component(Tooltip.name, Tooltip);
|
|
||||||
Vue.component(Breadcrumb.name, Breadcrumb);
|
|
||||||
Vue.component(BreadcrumbItem.name, BreadcrumbItem);
|
|
||||||
Vue.component(Form.name, Form);
|
|
||||||
Vue.component(FormItem.name, FormItem);
|
|
||||||
Vue.component(Tabs.name, Tabs);
|
|
||||||
Vue.component(TabPane.name, TabPane);
|
|
||||||
Vue.component(Tag.name, Tag);
|
|
||||||
Vue.component(Tree.name, Tree);
|
|
||||||
Vue.component(Alert.name, Alert);
|
|
||||||
Vue.component(Slider.name, Slider);
|
|
||||||
Vue.component(Icon.name, Icon);
|
|
||||||
Vue.component(Row.name, Row);
|
|
||||||
Vue.component(Col.name, Col);
|
|
||||||
Vue.component(Upload.name, Upload);
|
|
||||||
Vue.component(Progress.name, Progress);
|
|
||||||
Vue.component(Spinner.name, Spinner);
|
|
||||||
Vue.component(Badge.name, Badge);
|
|
||||||
Vue.component(Card.name, Card);
|
|
||||||
Vue.component(Rate.name, Rate);
|
|
||||||
Vue.component(Steps.name, Steps);
|
|
||||||
Vue.component(Step.name, Step);
|
|
||||||
Vue.component(Carousel.name, Carousel);
|
|
||||||
Vue.component(Scrollbar.name, Scrollbar);
|
|
||||||
Vue.component(CarouselItem.name, CarouselItem);
|
|
||||||
Vue.component(Collapse.name, Collapse);
|
|
||||||
Vue.component(CollapseItem.name, CollapseItem);
|
|
||||||
|
|
||||||
Vue.use(Loading.directive);
|
Vue.use(Loading.directive);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue