Я разрабатываю библиотеку, которая хорошо работала, пока я не начал проводить модульные тесты. До нескольких дней go я мог бы создать экземпляр своей библиотеки следующим образом:
this.belpay = new belpay.SDK('test', {
username: 'username',
password: 'password',
key: 'abc-def',
});
И в моей chrome консоли:
![enter image description here](https://i.stack.imgur.com/klB8U.png)
Теперь я представляю следующую ошибку:
![enter image description here](https://i.stack.imgur.com/JUB0R.png)
Чтобы устранить эту ошибку, мне пришлось сделать следующее:
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>
Это это странно, потому что в пятницу (последний для нас рабочий день недели) я оставил его работающим нормально, а в понедельник я уже не мог проводить тесты. Я не вносил никаких изменений.
Любые предложения по улучшению этого файла будут приветствоваться.