UNPKG

moment-ui

Version:

A Vue.js project

103 lines (99 loc) 2.83 kB
var path = require("path"); var webpack = require("webpack"); module.exports = { // 根据不同的执行环境配置不同的入口 entry: process.env.NODE_ENV == "development" ? "./src/main.js" : "./src/components/index.js", output: { path: path.resolve(__dirname, "./dist"), publicPath: "/dist/", filename: "moment-ui.js", library: 'moment-ui', // 指定的就是你使用require时的模块名 // CMD只能在 Node 环境执行,AMD 只能在浏览器端执行,UMD 同时支持两种执行环境 libraryTarget: 'umd', // 指定输出格式 umdNamedDefine: true // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define }, module: { rules: [ { test: /\.css$/, use: ["vue-style-loader", "css-loader"], }, { test: /\.scss$/, use: ["vue-style-loader", "css-loader", "sass-loader"], }, { test: /\.sass$/, use: ["vue-style-loader", "css-loader", "sass-loader?indentedSyntax"], }, { test: /\.vue$/, loader: "vue-loader", options: { loaders: { // Since sass-loader (weirdly) has SCSS as its default parse mode, we map // the "scss" and "sass" values for the lang attribute to the right configs here. // other preprocessors should work out of the box, no loader config like this necessary. scss: ["vue-style-loader", "css-loader", "sass-loader"], sass: [ "vue-style-loader", "css-loader", "sass-loader?indentedSyntax", ], }, // other vue-loader options go here }, }, { test: /\.js$/, loader: "babel-loader", exclude: /node_modules/, }, { test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/, loader: "file-loader", options: { name: "[name].[ext]?[hash]", }, }, ], }, resolve: { alias: { vue$: "vue/dist/vue.esm.js", }, extensions: ["*", ".js", ".vue", ".json"], }, devServer: { 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, }), ]); }