webpack.config.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. module.exports =
  4. {
  5. entry: {
  6. 'viewer': './src/index.ts',
  7. 'renderOnlyViewer': './src/renderOnlyIndex.ts',
  8. },
  9. output: {
  10. path: path.resolve(__dirname, 'dist'),
  11. filename: '[name].js',
  12. libraryTarget: 'umd',
  13. library: 'BabylonViewer',
  14. umdNamedDefine: true,
  15. devtoolModuleFilenameTemplate: '[absolute-resource-path]'
  16. },
  17. resolve: {
  18. extensions: ['.ts', '.js'],
  19. alias: {
  20. }
  21. },
  22. mode: "development",
  23. devtool: 'source-map',
  24. plugins: [
  25. new webpack.WatchIgnorePlugin([
  26. /\.d\.ts$/
  27. ])
  28. ],
  29. module: {
  30. rules: [{
  31. test: /\.tsx?$/,
  32. loader: 'ts-loader',
  33. exclude: /node_modules/
  34. },
  35. {
  36. test: /\.(html)$/,
  37. use: {
  38. loader: 'html-loader',
  39. options: {
  40. minimize: true
  41. }
  42. }
  43. },
  44. {
  45. test: /\.(jpe?g|png|ttf|eot|svg?)(\?[a-z0-9=&.]+)?$/,
  46. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  47. },
  48. {
  49. test: /\.(woff|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
  50. loader: 'base64-inline-loader?limit=1000&name=[name].[ext]'
  51. }]
  52. },
  53. devServer: {
  54. contentBase: path.join(__dirname, "dist"),
  55. compress: false,
  56. //open: true,
  57. port: 9000
  58. }
  59. }