webpack.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. module.exports = [
  4. {
  5. entry: {
  6. login: path.join(__dirname, 'src/login.js'),
  7. main: path.join(__dirname, 'src/main.js')
  8. },
  9. output: {
  10. filename: '[name].js',
  11. path: path.resolve(__dirname, 'js/dist')
  12. },
  13. module: {
  14. rules: [
  15. {
  16. test: /\.css$/,
  17. use: ['style-loader', 'css-loader']
  18. },
  19. {
  20. test: /\.scss$/,
  21. use: ['style-loader', 'css-loader', 'sass-loader']
  22. },
  23. {
  24. test: /davclient/,
  25. use: 'exports-loader?dav'
  26. },
  27. {
  28. test: /\.js$/,
  29. loader: 'babel-loader',
  30. exclude: /node_modules/
  31. },
  32. {
  33. test: /\.(png|jpg|gif)$/,
  34. loader: 'url-loader',
  35. options: {
  36. name: '[name].[ext]?[hash]',
  37. limit: 8192
  38. }
  39. },
  40. {
  41. test: /\.handlebars/,
  42. loader: "handlebars-loader",
  43. query: {
  44. extensions: '.handlebars'
  45. }
  46. }
  47. ]
  48. },
  49. plugins: [
  50. new webpack.ProvidePlugin({
  51. '_': "underscore",
  52. $: "jquery",
  53. jQuery: "jquery"
  54. })
  55. ],
  56. resolve: {
  57. alias: {
  58. handlebars: 'handlebars/runtime'
  59. },
  60. extensions: ['*', '.js'],
  61. symlinks: false
  62. }
  63. },
  64. {
  65. entry: {
  66. share_backend: path.resolve(__dirname, 'js/merged-share-backend.js'),
  67. systemtags: path.resolve(__dirname, 'js/systemtags/merged-systemtags.js')
  68. },
  69. output: {
  70. filename: '[name].js',
  71. path: path.resolve(__dirname, 'js/dist')
  72. },
  73. module: {
  74. rules: [
  75. {
  76. test: /\.js$/,
  77. loader: 'babel-loader',
  78. exclude: /node_modules/
  79. },
  80. {
  81. test: /\.css$/,
  82. use: ['style-loader', 'css-loader']
  83. },
  84. {
  85. test: /\.scss$/,
  86. use: ['style-loader', 'css-loader', 'sass-loader']
  87. },
  88. ]
  89. }
  90. }
  91. ];