Экспортное назначение нельзя использовать при нацеливании на модули ECMAScript - PullRequest
0 голосов
/ 16 апреля 2019

Я создал проект npm, в котором я использую конфигурацию машинописи (tsconfig.json).

В одном файле .ts у меня есть такой код:

export = function loginToLCSteps() {
    this.setDefaultTimeout(30 * 1000);
    let stage = serenity.callToStageFor({
        actor: (name) => Actor.named('James').whoCan(BrowseTheWeb.using(protractor.browser))
    });

    this.Given(/^that Doctor is on Login screen$/, function () {
        return stage.theActorCalled('James').attemptsTo(
            AccessLifecare.called()
        );
    });

    this.When(/^he enters credentials and click on Login button$/, function () {
        return stage.theActorCalled('James').attemptsTo(
            Login.called()
          );
      });

      this.Then(/^he should be navigate to Role and Care Unit selection screen$/, function () {
        return stage.theActorCalled('James').attemptsTo(
            Wait.until(SelectRoleAndUnitPage.selectRoleAndUnitLabel, Is.visible()),
        );
      });
};

tsconfig.json имеет модульную систему как "commonjs".

"compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "module": "commonjs", "moduleResolution": "node" .....

Приведенный выше код работает с загрузчиком модуля " commonjs ". Однако я хочу, чтобы загрузчик модуля был " es2015 ". Изменение модульной системы на « es2015 » приводит к приведенной ниже ошибке в коде Visual Studio в строке export = function loginToLCSteps():

Назначение экспорта нельзя использовать при нацеливании на модули ECMAScript. Попробуйте вместо этого использовать «экспорт по умолчанию» или другой формат модуля. TS (1203)

Приведенный выше код работает на нескольких моих одноранговых машинах.

Я установил последнюю версию узла, npm, Typescript, но безуспешно.

...