var path = require('path'), webpack = require('webpack'), ExtractTextPlugin = require("extract-text-webpack-plugin"), ngAnnotatePlugin = require('ng-annotate-webpack-plugin');; var isDevMode = process.env.NODE_ENV === 'development'; var exportObj = { context: path.join(__dirname, 'frontend'), entry: { app: './js/app.js' }, output: { publicPath: '/frontend/', path: path.join(__dirname, 'public', 'frontend'), filename: './js/[name].js', }, module: { loaders: [ {test: /\.jade$/, loader: 'jade'}, {test: /\.less$/, loader: 'style!css!less'}, {test: /\.styl$/, loader: ExtractTextPlugin.extract('style', 'css!stylus?resolve url')}, {test: /\.(png|jpg|svg|ttf|eot|woff|woff2)$/, loader: 'file?name=styles/[name].[ext]'}, ] }, plugins: [ new ExtractTextPlugin('styles/[name].css', {allChunks: true, disable: isDevMode}) ], devtool: isDevMode ? 'eval' : 'source-map', watch: false, devServer: { host: 'localhost', port: 3333, contentBase: path.join(__dirname, 'public') } }; if(!isDevMode){ exportObj.plugins.push(new ngAnnotatePlugin()); exportObj.plugins.push(new webpack.optimize.UglifyJsPlugin({compressor: {warnings: false} })); } module.exports = exportObj;