]> Softwares of Agnibho - dietsurvey.git/blobdiff - webpack.config.js
Rewritten in Javascript for offline use
[dietsurvey.git] / webpack.config.js
diff --git a/webpack.config.js b/webpack.config.js
new file mode 100644 (file)
index 0000000..d87f3b8
--- /dev/null
@@ -0,0 +1,80 @@
+var path = require('path')
+    var webpack = require('webpack')
+
+    module.exports = {
+       entry: './src/main.js',
+       output: {
+           path: path.resolve(__dirname, 'dist'),
+           publicPath: 'dist/',
+           filename: 'bundle.js'
+       },
+       module: {
+           rules: [
+               {
+                   test: /\.vue$/,
+                   loader: 'vue-loader',
+                   options: {
+                       // vue-loader options go here
+                   }
+               },
+               {
+                   test: /\.js$/,
+                   loader: 'babel-loader?presets=es2015&retainLines=true',
+                   exclude: /node_modules/
+               },
+               {
+                   test: /\.css$/,
+                   loader: 'style-loader!css-loader'
+               },
+               {
+                   test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/,
+                   loader: 'file-loader',
+                   options: {
+                       name: '[name].[ext]?[hash]'
+                   }
+               },
+               {
+                   test: /\.json$/,
+                   loader: 'json-loader'
+               }
+           ]
+       },
+       resolve: {
+           alias: {
+               'vue$': 'vue/dist/vue',
+               'jquery': 'jquery/src/jquery'
+           }
+       },
+       plugins: [
+           new webpack.ProvidePlugin({
+               $: 'jquery',
+               jquery: 'jquery'
+           })
+       ],
+       devServer: {
+           historyApiFallback: true,
+           noInfo: true
+       },
+       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
+       })
+    ])
+}