update webpack config

update webpack config
This commit is contained in:
梁灏 2017-03-01 11:35:00 +08:00
parent 36fa7c6c18
commit 9e74a856f6
5 changed files with 140 additions and 154 deletions

View file

@ -4,7 +4,6 @@
var path = require('path'); var path = require('path');
var webpack = require('webpack'); var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = { module.exports = {
// 入口 // 入口
@ -29,10 +28,8 @@ module.exports = {
loader: 'vue-loader', loader: 'vue-loader',
options: { options: {
loaders: { loaders: {
css: ExtractTextPlugin.extract({ css: 'vue-style-loader!css-loader',
use: 'css-loader', less: 'vue-style-loader!css-loader!less-loader'
fallback: 'vue-style-loader' // <- this is a dep of vue-loader, so no need to explicitly install if using npm3
})
}, },
postLoaders: { postLoaders: {
html: 'babel-loader' html: 'babel-loader'

View file

@ -22,29 +22,24 @@ module.exports = {
} }
}, },
resolve: { resolve: {
extensions: ['', '.js', '.vue'] extensions: ['.js', '.vue']
}, },
module: { module: {
loaders: [{ rules: [
test: /\.vue$/, {
loader: 'vue' test: /\.vue$/,
}, { loader: 'vue-loader',
test: /\.js$/, options: {
loader: 'babel', postLoaders: {
exclude: /node_modules/ html: 'babel-loader'
}, { }
test: /\.css$/, }
loader: 'style!css!autoprefixer' },
}, { {
test: /\.less$/, test: /\.js$/,
loader: 'style!css!less' loader: 'babel-loader', exclude: /node_modules/
}, { }
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, ]
loader: 'url?limit=8192'
}, {
test: /\.(html|tpl)$/,
loader: 'vue-html'
}]
}, },
plugins: [ plugins: [
new webpack.DefinePlugin({ new webpack.DefinePlugin({

View file

@ -22,29 +22,24 @@ module.exports = {
} }
}, },
resolve: { resolve: {
extensions: ['', '.js', '.vue'] extensions: ['.js', '.vue']
}, },
module: { module: {
loaders: [{ rules: [
test: /\.vue$/, {
loader: 'vue' test: /\.vue$/,
}, { loader: 'vue-loader',
test: /\.js$/, options: {
loader: 'babel', postLoaders: {
exclude: /node_modules/ html: 'babel-loader'
}, { }
test: /\.css$/, }
loader: 'style!css!autoprefixer' },
}, { {
test: /\.less$/, test: /\.js$/,
loader: 'style!css!less' loader: 'babel-loader', exclude: /node_modules/
}, { }
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, ]
loader: 'url?limit=8192'
}, {
test: /\.(html|tpl)$/,
loader: 'vue-html'
}]
}, },
plugins: [ plugins: [
new webpack.DefinePlugin({ new webpack.DefinePlugin({

View file

@ -57,7 +57,6 @@
"css-loader": "^0.23.1", "css-loader": "^0.23.1",
"eslint": "^3.12.2", "eslint": "^3.12.2",
"eslint-plugin-html": "^1.7.0", "eslint-plugin-html": "^1.7.0",
"extract-text-webpack-plugin": "beta",
"file-loader": "^0.8.5", "file-loader": "^0.8.5",
"gulp": "^3.9.1", "gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1", "gulp-autoprefixer": "^3.1.1",

View file

@ -2,112 +2,112 @@
import 'core-js/fn/array/find-index'; import 'core-js/fn/array/find-index';
import Affix from './components/affix'; import Affix from './components/affix';
import Alert from './components/alert'; // import Alert from './components/alert';
import BackTop from './components/back-top'; // import BackTop from './components/back-top';
import Badge from './components/badge'; // import Badge from './components/badge';
import Breadcrumb from './components/breadcrumb'; // import Breadcrumb from './components/breadcrumb';
import Button from './components/button'; // import Button from './components/button';
import Card from './components/card'; // import Card from './components/card';
import Carousel from './components/carousel'; // import Carousel from './components/carousel';
import Cascader from './components/cascader'; // import Cascader from './components/cascader';
import Checkbox from './components/checkbox'; // import Checkbox from './components/checkbox';
import Circle from './components/circle'; // import Circle from './components/circle';
import Collapse from './components/collapse'; // import Collapse from './components/collapse';
import DatePicker from './components/date-picker'; // import DatePicker from './components/date-picker';
import Dropdown from './components/dropdown'; // import Dropdown from './components/dropdown';
import Form from './components/form'; // import Form from './components/form';
import Icon from './components/icon'; // import Icon from './components/icon';
import Input from './components/input'; // import Input from './components/input';
import InputNumber from './components/input-number'; // import InputNumber from './components/input-number';
import LoadingBar from './components/loading-bar'; // import LoadingBar from './components/loading-bar';
import Menu from './components/menu'; // import Menu from './components/menu';
import Message from './components/message'; // import Message from './components/message';
import Modal from './components/modal'; // import Modal from './components/modal';
import Notice from './components/notice'; // import Notice from './components/notice';
import Page from './components/page'; // import Page from './components/page';
import Poptip from './components/poptip'; // import Poptip from './components/poptip';
import Progress from './components/progress'; // import Progress from './components/progress';
import Radio from './components/radio'; // import Radio from './components/radio';
import Rate from './components/rate'; // import Rate from './components/rate';
import Slider from './components/slider'; // import Slider from './components/slider';
import Spin from './components/spin'; // import Spin from './components/spin';
import Steps from './components/steps'; // import Steps from './components/steps';
import Switch from './components/switch'; // import Switch from './components/switch';
import Table from './components/table'; // import Table from './components/table';
import Tabs from './components/tabs'; // import Tabs from './components/tabs';
import Tag from './components/tag'; // import Tag from './components/tag';
import Timeline from './components/timeline'; // import Timeline from './components/timeline';
import TimePicker from './components/time-picker'; // import TimePicker from './components/time-picker';
import Tooltip from './components/tooltip'; // import Tooltip from './components/tooltip';
import Transfer from './components/transfer'; // import Transfer from './components/transfer';
import Tree from './components/tree'; // import Tree from './components/tree';
import Upload from './components/upload'; // import Upload from './components/upload';
import { Row, Col } from './components/layout'; // import { Row, Col } from './components/layout';
import { Select, Option, OptionGroup } from './components/select'; // import { Select, Option, OptionGroup } from './components/select';
import locale from './locale'; import locale from './locale';
const iview = { const iview = {
Affix, Affix,
Alert, // Alert,
BackTop, // BackTop,
Badge, // Badge,
Breadcrumb, // Breadcrumb,
BreadcrumbItem: Breadcrumb.Item, // BreadcrumbItem: Breadcrumb.Item,
iButton: Button, // iButton: Button,
ButtonGroup: Button.Group, // ButtonGroup: Button.Group,
Card, // Card,
Carousel, // Carousel,
CarouselItem: Carousel.Item, // CarouselItem: Carousel.Item,
Cascader, // Cascader,
Checkbox, // Checkbox,
CheckboxGroup: Checkbox.Group, // CheckboxGroup: Checkbox.Group,
Circle, // Circle,
DatePicker, // DatePicker,
Dropdown, // Dropdown,
DropdownItem: Dropdown.Item, // DropdownItem: Dropdown.Item,
DropdownMenu: Dropdown.Menu, // DropdownMenu: Dropdown.Menu,
iForm: Form, // iForm: Form,
FormItem: Form.Item, // FormItem: Form.Item,
iCol: Col, // iCol: Col,
Collapse, // Collapse,
Icon, // Icon,
iInput: Input, // iInput: Input,
InputNumber, // InputNumber,
LoadingBar, // LoadingBar,
Menu, // Menu,
MenuGroup: Menu.Group, // MenuGroup: Menu.Group,
MenuItem: Menu.Item, // MenuItem: Menu.Item,
Submenu: Menu.Sub, // Submenu: Menu.Sub,
Message, // Message,
Modal, // Modal,
Notice, // Notice,
iOption: Option, // iOption: Option,
OptionGroup, // OptionGroup,
Page, // Page,
Panel: Collapse.Panel, // Panel: Collapse.Panel,
Poptip, // Poptip,
Progress, // Progress,
Radio, // Radio,
RadioGroup: Radio.Group, // RadioGroup: Radio.Group,
Rate, // Rate,
Row, // Row,
iSelect: Select, // iSelect: Select,
Slider, // Slider,
Spin, // Spin,
Step: Steps.Step, // Step: Steps.Step,
Steps, // Steps,
Switch, // Switch,
iTable: Table, // iTable: Table,
Tabs: Tabs, // Tabs: Tabs,
TabPane: Tabs.Pane, // TabPane: Tabs.Pane,
Tag, // Tag,
Timeline, // Timeline,
TimelineItem: Timeline.Item, // TimelineItem: Timeline.Item,
TimePicker, // TimePicker,
Tooltip, // Tooltip,
Transfer, // Transfer,
Tree, // Tree,
Upload // Upload
}; };
const install = function (Vue, opts = {}) { const install = function (Vue, opts = {}) {
@ -118,10 +118,10 @@ const install = function (Vue, opts = {}) {
Vue.component(key, iview[key]); Vue.component(key, iview[key]);
}); });
Vue.prototype.$Loading = LoadingBar; // Vue.prototype.$Loading = LoadingBar;
Vue.prototype.$Message = Message; // Vue.prototype.$Message = Message;
Vue.prototype.$Modal = Modal; // Vue.prototype.$Modal = Modal;
Vue.prototype.$Notice = Notice; // Vue.prototype.$Notice = Notice;
}; };
// auto install // auto install