webpack.config.js
const webpack = require('webpack');
const merge = require('webpack-merge');
const path = require('path');
var config = {
output: {
path: path.resolve(__dirname + '/dist/'),
},
resolveLoader: {
alias: {
'scss-loader': 'sass-loader'
}
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
include: __dirname,
exclude: /node_modules/
},
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.css$/,
loader: 'style!less!css'
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
],
},
]
},
externals: {
moment: 'moment'
},
plugins: [
new webpack.optimize.UglifyJsPlugin( {
minimize : true,
sourceMap : false,
mangle: true,
compress: {
warnings: false
}
} )
]
};
module.exports = [
merge(config, {
entry: path.resolve(__dirname + '/src/plugin.js'),
output: {
filename: 'vue-dropdown.min.js',
libraryTarget: 'window',
library: 'VueDropdown',
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/Dropdown.vue'),
output: {
filename: 'vue-dropdown.js',
libraryTarget: 'umd',
library: 'vue-dropdown',
umdNamedDefine: true
}
})
];