Я добавляю некоторые браузерные тесты в свое приложение реагирования / машинописи.
Параметры компилятора:
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"lib": ["es2017", "dom"],
"module": "esnext",
"moduleResolution": "node",
"target": "es6"
}
Я следую приведенному здесь примеру: https://github.com/erwinheitzman/jest-webdriverio-standalone-boilerplate
Который имеет в тесте утверждение вроде (после некоторых модов):
import { BrowserObject } from '@wdio/sync';
const **sync** = require('@wdio/sync').default; // Warnings here
test('synchronous WebdriverIO test', () => **sync**(() => {
...snip...
}));
Я получаю предупреждение:
require statement not part of an import statement (no-var-requires)tslint(1)
Как на земле это сделать Я здесь использую оператор импорта?
import sync = require('...').default; // Doesn't work. Says Declaration or statement expected.ts(1128)
import sync from '...'; // Doesn't work. Says Cannot use namespace 'sync' as a value.ts(2708)
Я так запутался из-за всего этого. Из того, что я могу сказать, syn c означает «использовать пространство имен WebDriverIO из wdio / syn c». Есть ли способ импортировать это?!?