Advertisement
Guest User

Untitled

a guest
Jul 1st, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. var path = require('path');
  2. var HtmlWebpackPlugin = require('html-webpack-plugin');
  3. var glob = require('glob');
  4. var webpack = require('webpack');
  5.  
  6. var PROD = (process.env.NODE_ENV === 'production')
  7.  
  8. module.exports = {
  9. devtool: PROD ? 'cheap-module-source-map' : 'source-map',
  10. context: path.resolve(__dirname, 'src'),
  11. entry: {
  12. vendor: ['es5-shim', 'es6-shim','angular', 'angular-ui-bootstrap',
  13. 'angular-ui-router', 'ngstorage'
  14. ],
  15. css: ['./client/main.less'],
  16. index: ['./client/main.ts'].concat(glob.sync('./client/**/*.ts', {cwd: './src'}))
  17.  
  18. },
  19. output: {
  20. path: path.join(__dirname, 'public'),
  21. filename: 'lib/[name].[chunkhash].' + (PROD ? 'bundle.min.js' : 'bundle.js')
  22. },
  23. resolve: {
  24. extensions: ['', '.ts', '.js']
  25. },
  26. module: {
  27. loaders: [
  28. {
  29. test: /\.less$/,
  30. loaders: ['style-loader', 'css-loader', 'less-loader']
  31. },
  32. {
  33. test: /\.ts$/,
  34. loaders: ['ng-annotate', 'ts'],
  35. exclude: /node_modules/
  36. },
  37. {
  38. test: /\.html$/,
  39. loader: 'ngtemplate?relativeTo=/src/client/!html',
  40. exclude: /index\.html/
  41. },
  42. {
  43. test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/,
  44. loader: 'url-loader?limit=30000&name=fonts/[name]-[hash].[ext]'
  45. }
  46. ],
  47. },
  48. plugins: [
  49. new webpack.optimize.CommonsChunkPlugin({
  50. name: 'vendor'
  51. }),
  52. // new webpack.optimize.CommonsChunkPlugin('css'),
  53. new HtmlWebpackPlugin({
  54. filename: 'index.html',
  55. template: './client/index.html'
  56. })
  57.  
  58. ].concat(PROD ? [
  59. new webpack.optimize.UglifyJsPlugin({
  60. compress: {warnings: false}
  61. })
  62. ] : [])
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement