webpack.config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const path = require('path');
  2. module.exports = {
  3. context: __dirname,
  4. entry: {
  5. 'test': __dirname + '/src/index.ts'
  6. },
  7. output: {
  8. libraryTarget: 'umd',
  9. library: 'BabylonViewer',
  10. umdNamedDefine: true
  11. },
  12. resolve: {
  13. extensions: ['.ts', '.js'],
  14. alias: {
  15. "babylonjs": __dirname + '/../../../dist/preview release/babylon.max.js',
  16. "babylonjs-materials": __dirname + '/../../../dist/preview release/materialsLibrary/babylonjs.materials.js',
  17. "babylonjs-loaders": __dirname + '/../../../dist/preview release/loaders/babylonjs.loaders.js',
  18. "babylonjs-viewer-assets": __dirname + '/../../src/assets/index.ts'
  19. }
  20. },
  21. externals: {
  22. // until physics will be integrated in the viewer, ignore cannon
  23. cannon: 'CANNON',
  24. oimo: 'OIMO',
  25. "earcut": true
  26. },
  27. mode: "development",
  28. devtool: 'source-map',
  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. }