webpack.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const path = require('path');
  2. module.exports = {
  3. entry: {
  4. 'test': __dirname + '/src/index.ts'
  5. },
  6. output: {
  7. libraryTarget: 'umd',
  8. library: 'BabylonViewer',
  9. umdNamedDefine: true
  10. },
  11. resolve: {
  12. extensions: ['.ts', '.js'],
  13. alias: {
  14. "babylonjs": __dirname + '/../../../dist/preview release/babylon.max.js',
  15. "babylonjs-materials": __dirname + '/../../../dist/preview release/materialsLibrary/babylonjs.materials.js',
  16. "babylonjs-loaders": __dirname + '/../../../dist/preview release/loaders/babylonjs.loaders.js',
  17. "babylonjs-viewer-assets": __dirname + '/../../src/assets/index.ts'
  18. }
  19. },
  20. externals: {
  21. // until physics will be integrated in the viewer, ignore cannon
  22. cannon: 'CANNON',
  23. oimo: 'OIMO',
  24. "earcut": true
  25. },
  26. devtool: 'source-map',
  27. module: {
  28. loaders: [{
  29. test: /\.tsx?$/,
  30. loader: 'ts-loader',
  31. exclude: /node_modules/
  32. },
  33. {
  34. test: /\.(html)$/,
  35. use: {
  36. loader: 'html-loader',
  37. options: {
  38. minimize: true
  39. }
  40. }
  41. },
  42. {
  43. test: /\.(jpe?g|png|ttf|eot|svg?)(\?[a-z0-9=&.]+)?$/,
  44. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  45. },
  46. {
  47. test: /\.(woff|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
  48. loader: 'base64-font-loader'
  49. }]
  50. },
  51. devServer: {
  52. contentBase: path.join(__dirname, "dist"),
  53. compress: false,
  54. //open: true,
  55. port: 9000
  56. }
  57. }