ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ 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;
... ΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ?
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ° ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π² ΡΡΡΠΎΠΊΡ 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-ΡΠ±ΠΎΡΠΊΠ° Π½Π΅ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ»Π°ΡΡ:
sweetalert.min.js
).sweetalert.min.js
Π² src/assets/scripts
Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Angular.src/assets/scripts/sweetalert.min.js
Π² scripts
Π·Π°ΠΏΠΈΡΡ Π² angular.json
declare var swal: any;
Π½Π°Π΄ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ°.swal
, Ρ.Π΅. return swal({...})
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, Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ»ΠΎΡ
ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅:
@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')
ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ,
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠΈΠ»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ sweetalert 2 https://sweetalert2.github.io/