webpack.gulp.config.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. module.exports = {
  4. context: __dirname,
  5. entry: [
  6. path.resolve(__dirname, './src/index.ts')
  7. ],
  8. output: {
  9. libraryTarget: 'var',
  10. library: 'BabylonViewer',
  11. umdNamedDefine: true
  12. },
  13. externals: {
  14. cannon: 'CANNON',
  15. oimo: 'OIMO',
  16. "earcut": true
  17. },
  18. resolve: {
  19. extensions: ['.ts', '.js'],
  20. alias: {
  21. "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
  22. "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
  23. "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
  24. "babylonjs-viewer-assets": __dirname + '/src/assets/index.ts'
  25. }
  26. },
  27. mode: "production",
  28. module: {
  29. rules: [{
  30. test: /\.tsx?$/,
  31. loader: 'ts-loader',
  32. exclude: /node_modules/
  33. },
  34. {
  35. test: /\.(html)$/,
  36. use: {
  37. loader: 'html-loader',
  38. options: {
  39. minimize: true
  40. }
  41. }
  42. },
  43. {
  44. test: /\.(jpe?g|png|ttf|eot|svg?)(\?[a-z0-9=&.]+)?$/,
  45. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  46. },
  47. {
  48. test: /\.(woff|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
  49. loader: 'base64-inline-loader?limit=1000&name=[name].[ext]'
  50. }]
  51. }
  52. }