Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var webpack = require('webpack');
  2. var webpackMerge = require('webpack-merge');
  3. var ExtractTextPlugin = require('extract-text-webpack-plugin');
  4. var DefinePlugin = require('webpack/lib/DefinePlugin');
  5. var HtmlWebpackPlugin = require('html-webpack-plugin');
  6. var CopyWebpackPlugin = require('copy-webpack-plugin');
  7. var path = require("path");
  8. var CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
  9.  
  10. module.exports = [
  11. {
  12.     context: __dirname + "",
  13.     entry : {
  14.         app : './app.ts'
  15.     },
  16.     output : {
  17.         path: '../../../target/classes/static/',
  18.         filename : './myapp.js',
  19.         sourceMapFilename: '[file].map'
  20.     },
  21.     performance: {
  22.         hints: false
  23.     },
  24.     watchOptions: {
  25.         ignored: /node_modules/
  26.     },
  27.     devtool: '#cheap-module-source-map',
  28.     resolve: {
  29.         extensions: ['.ts', '.js', '.css', '.scss', '.html']
  30.     },
  31.     module : {
  32.         loaders : [
  33.             {
  34.                 test: /\.ts-loader$/,
  35.                 loader: 'ng-annotate-loader!ts-loader'
  36.             },
  37.             {
  38.                 test: /\.js$/,
  39.                 loader: 'ng-annotate-loader'
  40.             },
  41.             {
  42.                 test : /\.html$/,
  43.                 loader : 'raw-loader'
  44.             },
  45.             {
  46.                 test : /\.png$/,
  47.                 loader : 'url-loader?limit=16384&mimetype=image/png'
  48.             },
  49.             {
  50.                 test : /\.svg(\?v=\d+\.\d+\.\d+)?$/,
  51.                 loader : 'url-loader?limit=16384&mimetype=image/svg+xml'
  52.             },
  53.             {
  54.                 test : /\.woff(\?v=\d+\.\d+\.\d+)?$/,
  55.                 loader : 'url-loader?limit=16384&mimetype=application/font-woff'
  56.             },
  57.             {
  58.                 test : /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
  59.                 loader : 'url-loader?limit=16384&mimetype=application/font-woff'
  60.             },
  61.             {
  62.                 test : /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
  63.                 loader : 'url-loader?limit=16384&mimetype=application/octet-stream'
  64.             },
  65.             {
  66.                 test : /\.eot(\?v=\d+\.\d+\.\d+)?$/,
  67.                 loader : 'file-loader'
  68.             }
  69.         ]
  70.     },
  71.     plugins : [
  72.         new HtmlWebpackPlugin({
  73.             template: 'index.html.ejs',
  74.             inject: false,
  75.             filename: 'index.html'
  76.         })
  77.     ]
  78. },
  79. {
  80.     context: __dirname + "/app",
  81.     entry : {
  82.         vendor : './vendor.ts',
  83.         myapp : './app.ts'
  84.     },
  85.     output : {
  86.         path: '../../../target/classes/static/app/',
  87.         filename : './[name].js',
  88.         sourceMapFilename: '[file].map'
  89.     },
  90.         performance: {
  91.                 hints: false
  92.         },
  93.     watchOptions: {
  94.         ignored: /node_modules/
  95.     },
  96.     devtool: '#cheap-module-source-map',
  97.     resolve: {
  98.         extensions: ['.ts', '.js', '.css', '.scss', '.html']
  99.     },
  100.     module : {
  101.         loaders : [
  102.             {
  103.                 test: /\.ts$/,
  104.                 loader: 'ng-annotate-loader!ts-loader'
  105.             },
  106.             {
  107.                 test: /\.js$/,
  108.                 loader: 'ng-annotate-loader'
  109.             },
  110.             {
  111.                 test : /\.html$/,
  112.                 loader : 'raw-loader'
  113.             },
  114.             {
  115.                 test : /\.scss$/,
  116.                 exclude: /node_modules/,
  117.                 loader: ExtractTextPlugin.extract({
  118.                         fallbackLoader: "style-loader",
  119.                         loader: "css-loader?-minimize&sourceMap!sass-loader?sourceMap"
  120.                 })
  121.             },
  122.             {
  123.                 test : /\.png$/,
  124.                 loader : 'url-loader?limit=16384&mimetype=image/png'
  125.             },
  126.             {
  127.                 test : /\.svg(\?v=\d+\.\d+\.\d+)?$/,
  128.                 loader : 'url-loader?limit=16384&mimetype=image/svg+xml'
  129.             },
  130.             {
  131.                 test : /\.woff(\?v=\d+\.\d+\.\d+)?$/,
  132.                 loader : 'url-loader?limit=16384&mimetype=application/font-woff'
  133.             },
  134.             {
  135.                 test : /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
  136.                 loader : 'url-loader?limit=16384&mimetype=application/font-woff'
  137.             },
  138.             {
  139.                 test : /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
  140.                 loader : 'url-loader?limit=16384&mimetype=application/octet-stream'
  141.             },
  142.             {
  143.                 test : /\.eot(\?v=\d+\.\d+\.\d+)?$/,
  144.                 loader : 'file-loader'
  145.             }
  146.         ]
  147.     },
  148.     plugins : [
  149.         new webpack.ProvidePlugin({
  150.             "$" : "jquery",
  151.             "jQuery" : "jquery",
  152.             "window.jQuery": "jquery",
  153.             "window.CodeMirror": "codemirror"
  154.         }),
  155.         new CommonsChunkPlugin({
  156.             name: ['vendor']
  157.         }),
  158.         new webpack.DefinePlugin({
  159.             'ENV': JSON.stringify('development')
  160.         }),
  161.         new ExtractTextPlugin('./myapp.css'),
  162.         new HtmlWebpackPlugin({
  163.             template: 'index.ftl.ejs',
  164.             inject: false,
  165.             filename: 'index.ftl'
  166.         }),
  167.         new CopyWebpackPlugin([
  168.             { from: '../node_modules/ckeditor', to: '../ckeditor' },
  169.             { from: '_img', to: '_img' },
  170.             { from: '_i18n', to: '_i18n' }
  171.         ])
  172.     ]
  173. }
  174. ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement