wkb-common-ui
Version:
wkb-ui
83 lines (80 loc) • 1.98 kB
JavaScript
;
const path = require("path");
const config = require("./config");
const ProgressBarPlugin = require("progress-bar-webpack-plugin");
const VueLoaderPlugin = require("vue-loader/lib/plugin");
function resolve(dir) {
return path.join(__dirname, "..", dir);
}
module.exports = {
mode: "production",
context: path.resolve(__dirname, "../"),
entry: {
wkb: "./src/index.js"
},
output: {
path: path.resolve(__dirname, "../lib"),
filename: "wkb-platform.common.js",
publicPath: "/dist/",
libraryTarget: "umd",
library: "wkb-platform"
},
resolve: {
extensions: [".js", ".vue", ".json"],
alias: config.alias,
modules: ["node_modules"]
},
module: {
rules: [
{
test: /\.(jsx?|babel|es6)$/,
include: process.cwd(),
exclude: config.jsexclude,
loader: "babel-loader"
},
{
test: /\.vue$/,
loader: "vue-loader",
options: {
compilerOptions: {
preserveWhitespace: false
}
}
},
{
test: /\.scss$/,
use: ["vue-style-loader", "css-loader", "sass-loader"]
},
{
test: /\.css$/,
loaders: ["style-loader", "css-loader"]
},
{
oneOf: [
{
test: /\icon-(.*)\.svg$/,
use: [
{
loader: "babel-loader",
options: {
presets: ["env"]
}
},
"vue-svg-loader"
]
},
{
test: /\.(svg|otf|ttf|woff2?|eot|gif|png|jpe?g)(\?\S*)?$/,
loader: "url-loader",
exclude: [path.resolve(__dirname, "../packages/icon/svg")],
query: {
limit: 10000,
name: path.posix.join("static", "[name].[hash:7].[ext]")
}
}
]
}
]
},
plugins: [new ProgressBarPlugin(), new VueLoaderPlugin()]
};