Sweetalert: Angular 5.2.3 - 였λ₯˜ TypeError: sweetalert_1.defaultλŠ” ν•¨μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 02μ›” 06일  Β·  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); } });

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ–˜λ“€ μ•„.
이것은 devμ—μ„œ κΈ°λ³Έ 내보내기가 λ‹€λ₯΄κ²Œ μ²˜λ¦¬λ˜λŠ” Angular CLI의 이 버그 와 관련이 μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 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둜 λ‹€μ‹œ μ „ν™˜ν•˜κ² μŠ΅λ‹ˆλ‹€.
즐거운 μ½”λ”©!

μ–˜λ“€ μ•„.
이것은 devμ—μ„œ κΈ°λ³Έ 내보내기가 λ‹€λ₯΄κ²Œ μ²˜λ¦¬λ˜λŠ” Angular CLI의 이 버그 와 관련이 μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 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 - 그리고 - μˆ˜μž… - ν•„μš”

μΌμΉ˜ν•˜λŠ” κ°€μ Έμ˜€κΈ°λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

import swal = require("sweetalert");

예, λΉ„ν‘œμ€€ κ΅¬λ¬Έμ΄λ―€λ‘œ ES λͺ¨λ“ˆμ„ λŒ€μƒμœΌλ‘œ ν•˜λŠ” μ‚¬μš©μžμ—κ²Œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. ν•©μ„± κ°€μ Έμ˜€κΈ°λ₯Ό ν™œμ„±ν™”ν•˜κ±°λ‚˜ import * as swal ꡬ문을 μ‚¬μš©ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ§€λ§Œ μ μ ˆν•œ μ†”λ£¨μ…˜μ€ μž…λ ₯을 μˆ˜μ •ν•˜κ±°λ‚˜ κΈ°λ³Έ JS 파일 끝에 module.exports.default = module.exports λ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ‚¬λžŒλ“€μ€ 그것을 ES λͺ¨λ“ˆλ‘œ κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ—„μ²­λ‚œ! 끝났어

node_modules/sweetalert/typings/sweetalert.d.ts νŽΈμ§‘ ...
`" ./core "μ—μ„œ swal, {SweetAlert} κ°€μ Έμ˜€κΈ°;

μ „μ—­ μ„ μ–Έ {
const swal: SweetAlert;
const sweetAlert: SweetAlert;
}

κΈ°λ³Έ swal 내보내기;
λ„€μž„μŠ€νŽ˜μ΄μŠ€ swal둜 내보내기; `

μ—κ²Œ ...

`" ./core "μ—μ„œ swal, {SweetAlert} κ°€μ Έμ˜€κΈ°;

κΈ°λ³Έ swal 내보내기;
λ„€μž„μŠ€νŽ˜μ΄μŠ€ swal둜 내보내기; `

λ‚˜λŠ” ReactJS와 같은 λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ https://github.com/sweetalert/sweetalert-with-reactλ₯Ό μ‚¬μš©ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰