webpack.config.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. module.exports = {
  4. entry: {
  5. 'viewer': './src/index.ts'
  6. },
  7. output: {
  8. path: path.resolve(__dirname, 'dist'),
  9. filename: '[name].js',
  10. libraryTarget: 'umd',
  11. library: 'BabylonViewer',
  12. umdNamedDefine: true,
  13. devtoolModuleFilenameTemplate: '[relative-resource-path]'
  14. },
  15. resolve: {
  16. extensions: ['.ts', '.js'],
  17. alias: {
  18. "babylonjs": __dirname + '/../dist/preview release/babylon.max.js',
  19. "babylonjs-materials": __dirname + '/../dist/preview release/materialsLibrary/babylonjs.materials.js',
  20. "babylonjs-loaders": __dirname + '/../dist/preview release/loaders/babylonjs.loaders.js',
  21. "pep": __dirname + '/assets/pep.min.js',
  22. "deepmerge": __dirname + '/assets/deepmerge.min.js',
  23. "handlebars": __dirname + '/assets/handlebars.min.js',
  24. }
  25. },
  26. externals: {
  27. // until physics will be integrated in the viewer, ignore cannon
  28. cannon: 'CANNON',
  29. oimo: 'OIMO',
  30. './Oimo': 'OIMO',
  31. earcut: true
  32. },
  33. devtool: 'source-map',
  34. plugins: [
  35. new webpack.WatchIgnorePlugin([
  36. /\.d\.ts$/
  37. ])
  38. ],
  39. module: {
  40. loaders: [{
  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-font-loader'
  61. }]
  62. },
  63. devServer: {
  64. contentBase: path.join(__dirname, "dist"),
  65. compress: false,
  66. //open: true,
  67. port: 9000
  68. }
  69. }