var path = require("path"); var webpack = require("webpack"); module.exports = { entry: "./src/lib/index.js", // entry: "./src/main.js", output: { path: path.resolve(__dirname, "./dist"), publicPath: "/dist/", filename: "slide-verify.js", library: "SlideVerify", libraryTarget: "umd", umdNamedDefine: true }, module: { rules: [ { test: /\.css$/, use: ["vue-style-loader", "css-loader"] }, { test: /\.vue$/, loader: "vue-loader", options: { loaders: {} // other vue-loader options go here } }, { test: /\.js$/, loader: "babel-loader", exclude: /node_modules/ }, { test: /\.(png|jpg|gif|svg)$/, use: [ { loader: "url-loader", options: { limit: "8192", name: "imgs/[name].[hash].[ext]", publicPath: "./dist/" } } ] } ] }, resolve: { alias: { vue$: "vue/dist/vue.esm.js" }, extensions: ["*", ".js", ".vue", ".json"] }, devServer: { host: "localhost", historyApiFallback: true, noInfo: true, overlay: true }, performance: { hints: false }, devtool: "#eval-source-map" }; if (process.env.NODE_ENV === "production") { module.exports.devtool = "#source-map"; // http://vue-loader.vuejs.org/en/workflow/production.html module.exports.plugins = (module.exports.plugins || []).concat([ new webpack.DefinePlugin({ "process.env": { NODE_ENV: '"production"' } }), new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: { warnings: false } }), new webpack.LoaderOptionsPlugin({ minimize: true }) ]); }