webpack.config.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const path = require('path');
  2. const webpack = require('webpack');
  3. const DtsBundleWebpack = require('dts-bundle-webpack')
  4. module.exports = {
  5. entry: {
  6. 'babylonjs-gui': './src/index.ts',
  7. },
  8. output: {
  9. path: path.resolve(__dirname, 'dist'),
  10. filename: '[name].js',
  11. libraryTarget: 'umd',
  12. library: {
  13. root: ["BABYLON", "GUI"],
  14. amd: "babylonjs-gui",
  15. commonjs: "babylonjs-gui"
  16. },
  17. umdNamedDefine: true,
  18. //devtoolModuleFilenameTemplate: '[relative-resource-path]'
  19. },
  20. resolve: {
  21. extensions: [".js", '.ts']
  22. },
  23. externals: {
  24. babylonjs: {
  25. root: "BABYLON",
  26. commonjs: "babylonjs",
  27. commonjs2: "babylonjs",
  28. amd: "babylonjs"
  29. }
  30. },
  31. devtool: "source-map",
  32. module: {
  33. rules: [{
  34. test: /\.tsx?$/,
  35. loader: "ts-loader",
  36. exclude: /node_modules/
  37. },
  38. {
  39. test: /\.fx$/,
  40. use: [{
  41. loader: path.resolve('../Tools/WebpackShaderLoader/index.js')
  42. }]
  43. }]
  44. },
  45. mode: "development",
  46. devServer: {
  47. contentBase: path.join(__dirname, "dist"),
  48. compress: false,
  49. //open: true,
  50. port: 9000
  51. },
  52. plugins: [
  53. new DtsBundleWebpack({
  54. name: "babylonjs-gui",
  55. main: path.resolve(__dirname, './dist/build/index.d.ts'),
  56. out: path.resolve(__dirname, './dist/index.d.ts'),
  57. baseDir: path.resolve(__dirname, './dist/build/'),
  58. headerText: "BabylonJS GUI"
  59. })
  60. ]
  61. }
  62. //]