webpack.config.js 2.1 KB

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