Refactor webpack config

This commit is contained in:
Tyler Long
2017-09-12 21:23:05 +08:00
parent f0ff4d087f
commit 385454f3f1

View File

@@ -1,14 +1,45 @@
import path from 'path' import path from 'path'
import ExtractTextPlugin from 'extract-text-webpack-plugin' import ExtractTextPlugin from 'extract-text-webpack-plugin'
const rules = [ const lodashRule = {
{ parser: {
parser: { amd: false
amd: false },
}, include: /node_modules\/lodash\// // https://github.com/lodash/lodash/issues/3052
include: /node_modules\/lodash\// // https://github.com/lodash/lodash/issues/3052 }
const jsRule = {
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
['env', {
'targets': {
'browsers': ['last 3 versions']
}
}]
],
plugins: ['lodash']
}
} }
] }
const lessRule = {
test: /\.less$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader'
},
{
loader: 'less-loader'
}
]
})
}
export const jsConfig = () => { export const jsConfig = () => {
return { return {
@@ -27,25 +58,7 @@ export const jsConfig = () => {
libraryExport: 'default' libraryExport: 'default'
}, },
module: { module: {
rules: rules.concat([ rules: [lodashRule, jsRule]
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
['env', {
'targets': {
'browsers': ['last 3 versions']
}
}]
],
plugins: ['lodash']
}
}
}
])
} }
} }
} }
@@ -64,22 +77,7 @@ export const lessConfig = () => {
filename: '[name].css' filename: '[name].css'
}, },
module: { module: {
rules: rules.concat([ rules: [lessRule]
{
test: /\.less$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader'
},
{
loader: 'less-loader'
}
]
})
}
])
}, },
plugins: [ plugins: [
new ExtractTextPlugin('[name].css') new ExtractTextPlugin('[name].css')