webpack.gulp.config.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const ViewerResolve = require('../Tools/WebpackPlugins/viewerResolve');
  4. module.exports = {
  5. context: __dirname,
  6. entry: [
  7. path.resolve(__dirname, './src/index.ts')
  8. ],
  9. output: {
  10. libraryTarget: 'var',
  11. library: 'BabylonViewer',
  12. umdNamedDefine: true
  13. },
  14. resolve: {
  15. extensions: ['.ts', '.js'],
  16. alias: {
  17. "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
  18. "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
  19. "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
  20. "babylonjs-viewer-assets": __dirname + '/src/assets/index.ts'
  21. },
  22. plugins: [
  23. new ViewerResolve(["babylonjs", "babylonjs-loaders"])
  24. ]
  25. },
  26. mode: "production",
  27. module: {
  28. rules: [{
  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-inline-loader?limit=1000&name=[name].[ext]'
  49. }]
  50. }
  51. }