diff --git a/web/gulpfile.js b/web/gulpfile.js
index 1b944c3ccf6e3d2fd733b79ca87dc05f0019e57b..176e25d7a4f79ada4c62a34d1fa39e092ff24354 100644
--- a/web/gulpfile.js
+++ b/web/gulpfile.js
@@ -31,15 +31,23 @@ gulp.task('scss', () => {
         .pipe(gulp.dest(pkg.paths.dist.css));
 });
 
-gulp.task('webpack', () => {
+gulp.task('webpack-watch', () => {
     return gulp.src(pkg.main)
-        .pipe($.webpack_stream( require('./webpack.config.js') ))
+        .pipe($.webpack_stream( require('./webpack.config.watch.js') ))
         .pipe(gulp.dest(pkg.paths.dist.js));
 });
 
+gulp.task('webpack', () => {
+  return gulp.src(pkg.main)
+    .pipe($.webpack_stream( require('./webpack.config.js') ))
+    .pipe(gulp.dest(pkg.paths.dist.js));
+});
+
 gulp.task('watch', function() {
   gulp.watch(pkg.paths.src.scss + pkg.vars.scssName, ['scss']);
   gulp.watch('./package.json', ['scss']);
 });
 
-gulp.task('default', ['scss', 'webpack', 'watch'])
+gulp.task('build', ['scss', 'webpack'])
+
+gulp.task('default', ['scss', 'webpack-watch', 'watch'])
diff --git a/web/webpack.config.js b/web/webpack.config.js
index b05c7c2d0174f212c0eede88c72fc5c129944b17..aaafcbae3afb2d745a59718f42c3276133372ebb 100644
--- a/web/webpack.config.js
+++ b/web/webpack.config.js
@@ -14,7 +14,6 @@ if(process.env.NODE_ENV === 'production') {
 }
 
 module.exports = {
-  watch: true,
   plugins: plugins,
   entry: pkg.paths.src.js + '/app.js',
   output: {
diff --git a/web/webpack.config.watch.js b/web/webpack.config.watch.js
new file mode 100644
index 0000000000000000000000000000000000000000..b05c7c2d0174f212c0eede88c72fc5c129944b17
--- /dev/null
+++ b/web/webpack.config.watch.js
@@ -0,0 +1,32 @@
+const pkg = require('./package.json');
+
+var path = require('path'),
+    webpack = require('webpack'),
+    loaders = require('./node_modules/vtk.js/Utilities/config/webpack.loaders.js'),
+    plugins = [];
+if(process.env.NODE_ENV === 'production') {
+    console.log('==> Production build');
+    plugins.push(new webpack.DefinePlugin({
+        "process.env": {
+            NODE_ENV: JSON.stringify("production"),
+        },
+    }));
+}
+
+module.exports = {
+  watch: true,
+  plugins: plugins,
+  entry: pkg.paths.src.js + '/app.js',
+  output: {
+    // path: pkg.paths.dist.js, // does not work with webpack-stream
+    filename: 'bundle.js',
+  },
+  module: {
+      loaders: [
+          { test: require.resolve("./src/js/app.js"), loader: "expose-loader?MyWebApp" },
+      ].concat(loaders),
+    },
+    postcss: [
+      require('autoprefixer')({ browsers: ['last 2 versions'] }),
+    ],
+};