webpack.config.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const path = require('path')
  2. const webpack = require('webpack')
  3. module.exports = {
  4. name: 'terminus',
  5. target: 'node',
  6. entry: {
  7. 'index.ignore': 'file-loader?name=index.html!val-loader!pug-html-loader!' + path.resolve(__dirname, './index.pug'),
  8. 'preload': path.resolve(__dirname, 'src/entry.preload.ts'),
  9. 'bundle': path.resolve(__dirname, 'src/entry.ts'),
  10. },
  11. context: __dirname,
  12. devtool: 'source-map',
  13. output: {
  14. path: path.join(__dirname, 'dist'),
  15. pathinfo: true,
  16. filename: '[name].js'
  17. },
  18. resolve: {
  19. modules: ['src/', 'node_modules', '../node_modules', 'assets/'].map(x => path.join(__dirname, x)),
  20. extensions: ['.ts', '.js'],
  21. },
  22. module: {
  23. loaders: [
  24. {
  25. test: /\.ts$/,
  26. loader: 'awesome-typescript-loader',
  27. options: {
  28. configFileName: path.resolve(__dirname, 'tsconfig.json'),
  29. }
  30. },
  31. { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] },
  32. { test: /\.css$/, use: ['style-loader', 'css-loader', 'sass-loader'] },
  33. {
  34. test: /\.(png|svg)$/,
  35. loader: "file-loader",
  36. options: {
  37. name: 'images/[name].[ext]'
  38. }
  39. },
  40. {
  41. test: /\.(ttf|eot|otf|woff|woff2)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
  42. loader: "file-loader",
  43. options: {
  44. name: 'fonts/[name].[ext]'
  45. }
  46. }
  47. ]
  48. },
  49. externals: {
  50. '@angular/core': 'commonjs @angular/core',
  51. '@angular/compiler': 'commonjs @angular/compiler',
  52. '@angular/platform-browser': 'commonjs @angular/platform-browser',
  53. '@angular/platform-browser-dynamic': 'commonjs @angular/platform-browser-dynamic',
  54. '@angular/forms': 'commonjs @angular/forms',
  55. '@angular/common': 'commonjs @angular/common',
  56. '@ng-bootstrap/ng-bootstrap': 'commonjs @ng-bootstrap/ng-bootstrap',
  57. 'child_process': 'commonjs child_process',
  58. 'electron': 'commonjs electron',
  59. 'electron-is-dev': 'commonjs electron-is-dev',
  60. 'module': 'commonjs module',
  61. 'mz': 'commonjs mz',
  62. 'path': 'commonjs path',
  63. 'rxjs': 'commonjs rxjs',
  64. 'zone.js': 'commonjs zone.js/dist/zone.js',
  65. },
  66. plugins: [
  67. new webpack.optimize.ModuleConcatenationPlugin(),
  68. ],
  69. }