Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. * @Author: Caven
  3. * @Date: 2021-03-13 16:52:10
  4. */
  5. 'use strict'
  6. const path = require('path')
  7. const webpack = require('webpack')
  8. const CopyWebpackPlugin = require('copy-webpack-plugin')
  9. const cesiumBuild = '../node_modules/cesium/Build/Cesium'
  10. const common = require('./common')
  11. let cesiumCopyPlugin = [
  12. new CopyWebpackPlugin([
  13. {
  14. from: path.resolve(__dirname, cesiumBuild, 'Assets'),
  15. to: 'resources/Assets'
  16. },
  17. {
  18. from: path.resolve(__dirname, cesiumBuild, 'Workers'),
  19. to: 'resources/Workers'
  20. },
  21. {
  22. from: path.resolve(__dirname, cesiumBuild, 'ThirdParty'),
  23. to: 'resources/ThirdParty'
  24. }
  25. ])
  26. ]
  27. module.exports = env => {
  28. const IS_PROD = (env && env.production) || false
  29. const publicPath = IS_PROD ? '/' : '/'
  30. let plugins = [...cesiumCopyPlugin, ...common.plugins]
  31. if (IS_PROD) {
  32. plugins.push(new webpack.NoEmitOnErrorsPlugin())
  33. }
  34. return {
  35. entry: {
  36. 'dc.base': [path.resolve(__dirname, '..', 'packages/base/index.js')]
  37. },
  38. devtool: IS_PROD ? false : 'cheap-module-eval-source-map',
  39. output: {
  40. filename: IS_PROD ? '[name].min.js' : '[name].js',
  41. path: path.resolve(__dirname, '..', 'packages/base/dist'),
  42. publicPath: publicPath,
  43. library: 'DC',
  44. libraryExport: 'default',
  45. libraryTarget: 'umd',
  46. umdNamedDefine: true
  47. },
  48. amd: {
  49. toUrlUndefined: true
  50. },
  51. node: {
  52. fs: 'empty'
  53. },
  54. module: {
  55. unknownContextCritical: false,
  56. rules: common.rules
  57. },
  58. resolve: {
  59. extensions: ['.js', '.json', '.css'],
  60. alias: {
  61. '@dc-modules': path.resolve(__dirname, '..', 'modules'),
  62. cesium: path.resolve(__dirname, cesiumBuild)
  63. }
  64. },
  65. plugins
  66. }
  67. }