webpack.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
  2. const path = require('path');
  3. const webpack = require('webpack');
  4. module.exports = {
  5. entry: {
  6. 'viewer': './src/index.ts',
  7. 'viewer.min': './src/index.ts',
  8. },
  9. output: {
  10. path: path.resolve(__dirname, 'dist'),
  11. filename: '[name].js',
  12. libraryTarget: 'umd',
  13. library: 'Viewer3D',
  14. umdNamedDefine: true
  15. },
  16. resolve: {
  17. extensions: ['.ts', '.tsx', '.js']
  18. },
  19. devtool: 'source-map',
  20. plugins: [
  21. new webpack.WatchIgnorePlugin([
  22. /\.d\.ts$/
  23. ]),
  24. new UglifyJSPlugin({
  25. minimize: true,
  26. comments: false,
  27. sourceMap: true,
  28. include: /\.min\.js$/,
  29. })
  30. ],
  31. module: {
  32. loaders: [{
  33. test: /\.tsx?$/,
  34. loader: 'ts-loader',
  35. exclude: /node_modules/
  36. },
  37. {
  38. test: /\.(html)$/,
  39. use: {
  40. loader: 'html-loader'
  41. }
  42. },
  43. {
  44. test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
  45. use: 'base64-image-loader?limit=1000&name=[name].[ext]'
  46. }]
  47. }
  48. }