webpack.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. module.exports = {
  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. "pep": __dirname + '/../../assets/pep.min.js'
  19. }
  20. },
  21. externals: {
  22. // until physics will be integrated in the viewer, ignore cannon
  23. cannon: 'CANNON',
  24. oimo: 'OIMO',
  25. './Oimo': 'OIMO',
  26. "earcut": true
  27. },
  28. devtool: 'source-map',
  29. plugins: [
  30. new webpack.WatchIgnorePlugin([
  31. /\.d\.ts$/
  32. ])
  33. ],
  34. module: {
  35. loaders: [{
  36. test: /\.tsx?$/,
  37. loader: 'ts-loader',
  38. exclude: /node_modules/
  39. },
  40. {
  41. test: /\.(html)$/,
  42. use: {
  43. loader: 'html-loader',
  44. options: {
  45. minimize: true
  46. }
  47. }
  48. },
  49. {
  50. test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
  51. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  52. }]
  53. },
  54. devServer: {
  55. contentBase: path.join(__dirname, "dist"),
  56. compress: false,
  57. //open: true,
  58. port: 9000
  59. }
  60. }