Параметры webpack mangle изменили имя библиотеки umd - PullRequest
0 голосов
/ 28 июня 2018

Я хочу создать библиотеку umd и увеличить ее, когда я увеличил ее с помощью приведенных ниже опций, это изменило имя API моей библиотеки,

module.exports = {
  entry: [
    './JS/example/index.js'
 ],
  //devtool: 'inline-source-map',
  //devtool:'source-map',
  plugins: [

    new CleanWebpackPlugin(['dist'])
  ],

  mode: 'production',

  module: {
   rules: [
     {
      test: /\.js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['es2015'],
          plugins: [],
        }
      }
    }
   ]
  },

  output: {
    path: path.resolve(__dirname, 'JS/example/dist/umd'),
    library: "GlobeApi",
    libraryTarget: 'umd',
    umdNamedDefine: true

  },
  optimization: {
    minimizer: [
      new UglifyJsPlugin({
        uglifyOptions:{
          compress:{ecma:5},
          mangle:{
            "properties":true,
            "reserved":['Draw', 'mylibrary','myapi'],
            "keep_fnames": true,
            "keep_classnames": true,
          },
          output: {
            comments: false,
          },

        }
      }),
    ]
  }

};

Экспортируется так:
s: Object {ah: CSGlobe (),…} в объекте класса функции-прототипы не определены, я пытаюсь использовать экспортированный класс, но он выдает ошибку типа. obj t.eb не определен.

Я пробовал много способов, но когда я добавляю свойства, изменяю параметры, он искажает все, даже если он зарезервирован.

версии пакетов:

"babel-preset-es2015": "^ 6.24.1"

"uglifyjs-webpack-plugin": "^ 1.2.7"

"webpack": "^ 4.4.1"

...