Sweetalert: Angular 5.2.3 - ERROR TypeError: sweetalert_1.default Π½Π΅ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 6 Ρ„Π΅Π²Ρ€. 2018  Β·  13ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: t4t5/sweetalert

Π― ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ использовании es5. Но Π½Π° es6 Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

sweetalert вСрсия: 2.1.0

tsconfig.json

{
    "compileOnSave": false,
    "compilerOptions": {
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es5",
        "typeRoots": [
            "node_modules/@types"
        ],
        "lib": [
            "es2015",
            "dom"
        ]
    }
}

import swal from 'sweetalert'; swal({ text: 'Your request has been processed successfully.', icon: 'success' }).then((value) => { if (value) { console.log(value); } });

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

Π­ΠΉ, рСбята.
ΠŸΠΎΡ…ΠΎΠΆΠ΅, это связано с этой ошибкой Π² Angular CLI, Π³Π΄Π΅ экспорт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обрабатываСтся Π² dev ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΎΠ½ΠΈ исправили это Π² v6.0.0-beta.4

Π£ вас ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ запускС ng serve --prod ?

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот нСсколько грязный ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ:

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;

swal('test');

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

Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ошибка, ΠΊΠΎΠ³Π΄Π° я раскоммСнтировал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ совмСстим с IE9, 10 ΠΈ 11. РасполоТСн Π² polyfills.ts
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
import 'core-js/es7/array';

ИзмСнСниС Β«Ρ†Π΅Π»ΠΈΒ» Π½Π° es6, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚Π΅, Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΎΠ΅Π³ΠΎ прилоТСния Π² IE 11, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ es6 Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² IE 11, ΠΈ компиляция ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ИмСя Ρ‚Π°ΠΊΡƒΡŽ ​​ТС ΠΎΡˆΠΈΠ±ΠΊΡƒ

image

+1

Π£ мСня такая ΠΆΠ΅ ошибка!

я Ρ‚ΠΎΠΆΠ΅.

Π― Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ Π½Π° sweetalert 2. Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠΏΠ°Π³Π°Π½Π΄Ρƒ, Ссли Π½Π΅Ρ‚).
НадСюсь, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ‚Π΅Ρ…, Ρƒ ΠΊΠΎΠ³ΠΎ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ я Π±Ρ‹Π» Π±Ρ‹ Ρ€Π°Π΄ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ swal 1, Ссли это Π±ΡƒΠ΄Π΅Ρ‚ исправлСно.
Π£Π΄Π°Ρ‡Π½ΠΎΠ³ΠΎ кодирования!

Π­ΠΉ, рСбята.
ΠŸΠΎΡ…ΠΎΠΆΠ΅, это связано с этой ошибкой Π² Angular CLI, Π³Π΄Π΅ экспорт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обрабатываСтся Π² dev ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΎΠ½ΠΈ исправили это Π² v6.0.0-beta.4

Π£ вас ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ запускС ng serve --prod ?

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот нСсколько грязный ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ:

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;

swal('test');

@lionralfs Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

@lionralfs Ρ‚Ρ‹ настоящий Π»Π΅Π² Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Π Π΅Π»ΠΈΠ· npm Π½Π΅ экспортируСт свойство default , поэтому Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Випизация ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ES, Π½ΠΎ выпуск npm являСтся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ CommonJS.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ export = вмСсто export default Π² этом случаС: https://www.typescriptlang.org/docs/handbook/modules.html#export --and-import - require

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ выглядит Ρ‚Π°ΠΊ:

import swal = require("sweetalert");

Π”Π°, это нСстандартный синтаксис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ES. Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ² синтСтичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис import * as swal , ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Π»ΠΈΠ±ΠΎ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ module.exports.default = module.exports Π² ΠΊΠΎΠ½Π΅Ρ† основного Ρ„Π°ΠΉΠ»Π° JS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ES.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ! Π― задолбался

ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ node_modules / sweetalert / typings / sweetalert.d.ts ΠΈΠ· ...
`import swal, {SweetAlert} ΠΈΠ·" ./core ";

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

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

ΠΊ ...

`import swal, {SweetAlert} ΠΈΠ·" ./core ";

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

Π£ мСня Π±Ρ‹Π»Π° такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ReactJS, Π½ΠΎ использованиС https://github.com/sweetalert/sweetalert-with-react исправило Π΅Π΅.

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