webpack.config.js 2.3 KB

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