Накопительный пакет заменяет имя моего основного класса (SDK) на имя по умолчанию () - PullRequest
0 голосов
/ 25 мая 2020

Я разрабатываю библиотеку, которая хорошо работала, пока я не начал проводить модульные тесты. До нескольких дней go я мог бы создать экземпляр своей библиотеки следующим образом:

this.belpay = new belpay.SDK('test', {
            username: 'username',
            password: 'password',
            key: 'abc-def',
          });

И в моей chrome консоли:

enter image description here

Теперь я представляю следующую ошибку:

enter image description here

Чтобы устранить эту ошибку, мне пришлось сделать следующее:

this.belpay = new belpay.default('test', {
            username: 'username',
            password: 'password',
            key: 'abc-def',
          });

Не понимаю, почему теперь мне показывает дефолт. У меня всегда был этот параметр в rollup.config. js

import nodePolyfills from 'rollup-plugin-node-polyfills';
import babel from 'rollup-plugin-babel';
import serve from 'rollup-plugin-serve';
import commonjs from '@rollup/plugin-commonjs';
import livereload from 'rollup-plugin-livereload';
import { terser } from 'rollup-plugin-terser';
import json from 'rollup-plugin-json';

export default {
  input: 'src/index.js',
  context: 'window',
  output: [
    {
      file: 'dist/belpay.js',
      format: 'umd',
      name: 'belpay',
      exports: 'named',
      globals: ['axios'],
    },
    {
      file: 'dist/belpay.min.js',
      format: 'umd',
      name: 'belpay',
      plugins: [terser()],
      exports: 'named',
    },
  ],
  external: ['axios'],
  plugins: [
    babel({
      exclude: ['node_modules/**'],
      runtimeHelpers: true,
    }),
    nodePolyfills(),
    serve({
      host: 'localhost',
      port: 1234,
      contentBase: 'dist',
      historyApiFallback: true,
      allowCrossOrigin: true,
    }),
    commonjs({
      include: 'node_modules/axios/**',
    }),
    livereload({
      watch: 'dist',
      verbose: true,
    }),
    json(),
  ],
};

[РЕДАКТИРОВАТЬ]

Содержимое моего входного файла (src / index . js):

export default class SDK {
  #myvar= '';
  #myobject = {};

  method1() {}
  method2() {}
}

и таким образом я импортирую библиотеку в dist / index. html

<!-- html content -->
...
<!-- at the end of the body tag. -->
<script type="module" src="./belpay.js"></script>
<script type="text/javascript">
  this.belpay = new belpay.SDK();
</script>

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

Любые предложения по улучшению этого файла будут приветствоваться.

1 Ответ

0 голосов
/ 28 мая 2020

Я нашел проблему. Я делал:

export default class SDK {}

и должен был сделать:

export class SDK {}

Мне не нужно было устанавливать «по умолчанию».

...