webpack.config.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const babylonExternals = require('../Tools/WebpackPlugins/babylonExternals');
  4. const ViewerResolve = require('../Tools/WebpackPlugins/viewerResolve');
  5. module.exports =
  6. {
  7. entry: {
  8. 'viewer': './src/index.ts',
  9. 'renderOnlyViewer': './src/renderOnlyIndex.ts',
  10. },
  11. output: {
  12. path: path.resolve(__dirname, 'dist'),
  13. filename: '[name].js',
  14. libraryTarget: 'umd',
  15. library: 'BabylonViewer',
  16. umdNamedDefine: true,
  17. devtoolModuleFilenameTemplate: '[absolute-resource-path]'
  18. },
  19. resolve: {
  20. extensions: ['.ts', '.js'],
  21. alias: {
  22. "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
  23. "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
  24. "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
  25. "babylonjs-viewer-assets": __dirname + '/src/assets/index.ts'
  26. },
  27. plugins: [
  28. new ViewerResolve(["babylonjs", "babylonjs-loaders"])
  29. ]
  30. },
  31. externals: [],
  32. mode: "development",
  33. devtool: 'source-map',
  34. plugins: [
  35. new webpack.WatchIgnorePlugin([
  36. /\.d\.ts$/
  37. ])
  38. ],
  39. module: {
  40. rules: [{
  41. test: /\.tsx?$/,
  42. loader: 'ts-loader',
  43. exclude: /node_modules/
  44. },
  45. {
  46. test: /\.(html)$/,
  47. use: {
  48. loader: 'html-loader',
  49. options: {
  50. minimize: true
  51. }
  52. }
  53. },
  54. {
  55. test: /\.(jpe?g|png|ttf|eot|svg?)(\?[a-z0-9=&.]+)?$/,
  56. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  57. },
  58. {
  59. test: /\.(woff|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
  60. loader: 'base64-inline-loader?limit=1000&name=[name].[ext]'
  61. }]
  62. },
  63. devServer: {
  64. contentBase: path.join(__dirname, "dist"),
  65. compress: false,
  66. //open: true,
  67. port: 9000
  68. }
  69. }