Sweetalert: Ошибка Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ TS2403: ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 25 янв. 2019  Β·  22ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: t4t5/sweetalert

ОбновлСн Π΄ΠΎ Angular 7 с TypeScript 3.2.4, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ компиляции ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

import swal from 'sweetalert';

swal({ ... });

ΠžΠ¨Π˜Π‘ΠšΠ Π² node_modules / sweetalert / typings / sweetalert.d.ts (4,9): ошибка TS2403: ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ swal Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ typeof import (Β«C: / Projects / me / browser / node_modules / sweetalert / typings / sweetalertΒ») Β», Π½ΠΎ здСсь ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏΒ« SweetAlert Β».

Если я ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽ node_modules/sweetalert/typings/sweetalert.d.ts ΠΈΠ· ...

import swal, { SweetAlert } from "./core";

declare global {
  const swal: SweetAlert;
  const sweetAlert: SweetAlert;
}

export default swal;
export as namespace swal;

... ΠΊ ...

import swal, { SweetAlert } from "./core";

export default swal;
export as namespace swal;

... ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π›ΡŽΠ±Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚,

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ силы ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ sweetalert 2 https://sweetalert2.github.io/

ВсС 22 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚Π° ΠΆΠ΅ ситуация.

Однако я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ просто Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² строку export as namespace swal; Ρ‚ΠΎΠΆΠ΅ скомпилируСтся. Π― просматривал ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ TypeScript Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ подсказок ...

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚Π° ΠΆΠ΅ ситуация.

Однако я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ просто Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² строку export as namespace swal; Ρ‚ΠΎΠΆΠ΅ скомпилируСтся. Π― просматривал ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ TypeScript Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ подсказок ...

Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°
Π― использовал это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅
Π½ΠΎ я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅.

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π’ΠΎΠΆΠ΅ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Из-Π·Π° этого сборки CI Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ΄ OpenBSD. Π”Π°, я Π½Π΅ знаю ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ОБ, Π½ΠΎ доступная вСрсия TypeScript Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ с sweetalert Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для использования :(

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ΄ OpenBSD. Π”Π°, я Π½Π΅ знаю ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ОБ, Π½ΠΎ доступная вСрсия TypeScript Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ с sweetalert Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для использования :(

@ t4t5 ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ?

Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽ это с Angular 7

Π•ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ рСдактирования Ρ„Π°ΠΉΠ»Π° опрСдСлСния Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ? Бтановится Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± этом послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ установки clone / npm.

@ bogdan-calapod Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я Π΄Π΅Π»Π°Π» Π² качСствС ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша CI-сборка Π½Π΅ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ»Π°ΡΡŒ:

  1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΌΠΈΠ½ΠΈ-Ρ„Π°ΠΉΠ» сцСнария Sweetalert здСсь (Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ сохранитС ссылку ΠΊΠ°ΠΊ sweetalert.min.js ).
  2. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ sweetalert.min.js Π² src/assets/scripts Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Angular.
  3. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ src/assets/scripts/sweetalert.min.js Π² scripts запись Π² angular.json
  4. Π’ Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… / сСрвисах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sweetalert, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ declare var swal: any; Π½Π°Π΄ объявлСниСм класса.
  5. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sweetalert Π² любом мСстС Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ swal , Ρ‚.Π΅. return swal({...})
  6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Sweetalert NPM, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» сцСнария: npm uninstall sweetalert --save

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚,

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ силы ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ sweetalert 2 https://sweetalert2.github.io/

Π•ΡΡ‚ΡŒ обновлСния с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚,

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ силы ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ sweetalert 2 https://sweetalert2.github.io/

Π£ этого Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 3-Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅?

@DVGalarza, это ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρƒ мСня Π½Π΅ сработало. ReferenceError: "swal is not defined" - Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ.

@ alvarofelipe12 Π”ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π»ΠΈ Π²Ρ‹ declare var swal: any; Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° (Π½ΠΈΠΆΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°) Π² Ρ„Π°ΠΉΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ swal? Если это Ρ‚Π°ΠΊ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π° ссылка Π½Π° sweetalert.min.js Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «сцСнарии» angular.json .

ОбновлСн Π΄ΠΎ Angular 7 с TypeScript 3.2.4, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ компиляции ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

import swal from 'sweetalert';

swal({ ... });

ΠžΠ¨Π˜Π‘ΠšΠ Π² node_modules / sweetalert / typings / sweetalert.d.ts (4,9): ошибка TS2403: ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ swal Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ typeof import (Β«C: / Projects / me / browser / node_modules / sweetalert / typings / sweetalertΒ») Β», Π½ΠΎ здСсь ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏΒ« SweetAlert Β».

Если я ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽ node_modules/sweetalert/typings/sweetalert.d.ts ΠΈΠ· ...

import swal, { SweetAlert } from "./core";

declare global {
  const swal: SweetAlert;
  const sweetAlert: SweetAlert;
}

export default swal;
export as namespace swal;

... ΠΊ ...

import swal, { SweetAlert } from "./core";

export default swal;
export as namespace swal;

... ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π›ΡŽΠ±Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ?

ΠΌΠΎΠ΅ΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ const swal Π² const _swal

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ swal, {SweetAlert} ΠΈΠ· "./core";

declare global {
const _swal: SweetAlert;
const sweetAlert: SweetAlert;
}

экспорт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ swal;
экспорт ΠΊΠ°ΠΊ swal пространства ΠΈΠΌΠ΅Π½;

ΠΏΡ€ΠΈΠ²Π΅Ρ‚ !, такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π― исправил это, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Ρ‚ΠΈΠΏΡ‹ sweetalert. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ src с ΠΈΠΌΠ΅Π½Π΅ΠΌ src/node_modules/sweetalert/index.d.ts

//this file is needed because the sweetalert typings need to be overwritten because they are broken
//the real fix here is to stop using sweetalert

declare global {
  const _swal: any;
  const sweetAlert: any;
}

export default _swal;
export as namespace swal;

РСшил, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² эту строку:

import swal from 'sweetalert';

ΠΊ:

const swal = require('sweetalert');

ΠΈΠ»ΠΈ (с интСрфСйсом):

import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = require('sweetalert');

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Angular 10. Π”Π°, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² sweetalert.d.ts ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, согласно ΠΌΠΎΠ΅ΠΉ IDE, Π΅ΡΡ‚ΡŒ ошибка, поэтому я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅:

image

@drmencos Π­Ρ‚ΠΎ для Node.js? require Ρƒ мСня Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Angular 10.

Π’ Ρ„Π°ΠΉΠ»Π΅: node_modules> sweetalert> typings> sweetalert.d.ts
ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ: const swal: SweetAlert;

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ swal, {SweetAlert} ΠΈΠ· "./core";

declare global {
// const swal: SweetAlert;
const sweetAlert: SweetAlert;
}

экспорт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ swal;
экспорт ΠΊΠ°ΠΊ swal пространства ΠΈΠΌΠ΅Π½;

ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ import 'sweetalert' Π½Π° require('sweetalert') сработало для мСня.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ