TypeScript 3.2.4κ° ν¬ν¨λ Angular 7λ‘ μ κ·Έλ μ΄λλμμΌλ©° μ΄μ μ»΄νμΌν λλ§λ€ λ€μμ΄ νμλ©λλ€.
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μμ μ€νν λλ μ΄μ λμΌν λ¬Έμ κ° μμ΅λλ€. μ, μ£Όλ₯ OSλ λͺ¨λ₯΄μ§λ§ μ¬μ© κ°λ₯ν TypeScript λ²μ μ sweetalertκ° μλ λͺ¨λ κ²μ μ¬μ©ν μ μκ² λ§λλλ€.
OpenBSDμμ μ€νν λλ μ΄μ λμΌν λ¬Έμ κ° μμ΅λλ€. μ, μ£Όλ₯ OSλ λͺ¨λ₯΄μ§λ§ μ¬μ© κ°λ₯ν TypeScript λ²μ μ sweetalertκ° μλ λͺ¨λ κ²μ μ¬μ©ν μ μκ² λ§λλλ€.
@t4t5 μ΄ λ¬Έμ μ’
Angular 7μμλ μ΄κ²μ κ²½νν©λλ€.
μ μ νμΌμ μλμΌλ‘ νΈμ§νλ κ² μΈμ ν΄κ²° λ°©λ²μ λν μμ΄λμ΄κ° μμ΅λκΉ? λͺ¨λ clone / npm μ€μΉ νμ κ·Έκ²μ κΈ°μ΅νλ κ²μ μ½κ°μ λ²κ±°λ‘μμ΄ λκ³ μμ΅λλ€.
@bogdan-calapod λ€μμ CI λΉλκ° μ€ν¨νμ§ μλλ‘ ν΄κ²° λ°©λ²μΌλ‘ μνν μμ μ λλ€.
sweetalert.min.js
).sweetalert.min.js
μμ src/assets/scripts
κ°λ μμ© νλ‘κ·Έλ¨μμ.src/assets/scripts/sweetalert.min.js
scripts
νλͺ©μ angular.json
declare var swal: any;
μΆκ°νμμμ€.swal
, μ¦ return swal({...})
μ¬μ©νμ¬ νμΌμ μ΄λμμλ Sweetalertλ₯Ό μ¬μ©ν μ μμ΅λλ€.npm uninstall sweetalert --save
μ¬μ©νκ³ μμΌλ―λ‘ μ΄μ Sweetalert NPM ν¨ν€μ§λ₯Ό μ κ±°ν μ μμ΅λλ€.μλ νμΈμ μ¬λ¬λΆ,
μμ μ λ Έλ ₯μ μ μ½νκ³ sweetalert 2 https://sweetalert2.github.io/λ₯Ό μ¬μ©
μ΄ λ¬Έμ μ λν μ λ°μ΄νΈκ° μμ΅λκΉ?
μλ νμΈμ μ¬λ¬λΆ,
μμ μ λ Έλ ₯μ μ μ½νκ³ sweetalert 2 https://sweetalert2.github.io/λ₯Ό μ¬μ©
μ΄κ²μ 3κ° μ΄μμ λ²νΌμ μ§μν©λκΉ?
@DVGalarza μ΄ ν΄κ²° λ°©λ²μ μ μκ² ν¨κ³Όκ° μμμ΅λλ€. ReferenceError: "swalμ΄ μ μλμ§ μμμ΅λλ€"κ° λ΄κ° μ»λ κ²μ λλ€.
@alvarofelipe12 'swal'μ μ¬μ©νλ €λ νμΌμμ νμΌ μλ¨(μν¬νΈ μλ)μ declare var swal: any;
λ₯Ό μΆκ°νμ
¨λμ? μ΄ κ²½μ°,λ νμΈ sweetalert.min.js
μ 'μ€ν¬λ¦½νΈ'μΉμ
μμ μ λλ‘ μ°Έμ‘° angular.json
.
TypeScript 3.2.4κ° ν¬ν¨λ Angular 7λ‘ μ κ·Έλ μ΄λλμμΌλ©° μ΄μ μ»΄νμΌν λλ§λ€ λ€μμ΄ νμλ©λλ€.
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λ‘ λ°κΎΈλ κ²μ΄ μμ΅λλ€.
"./core"μμ swal, { SweetAlert } κ°μ Έμ€κΈ°;
μ μ μ μΈ {
const _swal: SweetAlert;
const sweetAlert: SweetAlert;
}
κΈ°λ³Έ swal λ΄λ³΄λ΄κΈ°;
λ€μμ€νμ΄μ€ swalλ‘ λ΄λ³΄λ΄κΈ°;
μλ νμΈμ!, κ°μ λ¬Έμ
sweetalert μ νμ μ¬μ μνμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. src/node_modules/sweetalert/index.d.ts
λΌλ src λλ ν 리μ νμΌμ μΆκ°νμ΅λλ€.
//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μμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€. μ, λ¬Έμ λ λ΄ IDEμ λ°λ₯΄λ©΄ sweetalert.d.ts
μ μλ κ² κ°μ΅λλ€. μ€λ₯κ° μμΌλ―λ‘ μ΄μ λν΄ μΈκΈνλ κ²μ΄ λμ ν΄κ²°μ±
μ μλλΌκ³ μκ°ν©λλ€.
@drmencos Node.jsμ©μΈκ°μ? require
λ Angular 10μμ μλνμ§ μμ΅λλ€.
νμΌμμ: node_modules> sweetalert> typings> sweetalert.d.ts
μ£Όμ: const swal: SweetAlert;
"./core"μμ swal, {SweetAlert} κ°μ Έμ€κΈ°;
μ μ μ μΈ {
// const swal: SweetAlert;
const sweetAlert: SweetAlert;
}
κΈ°λ³Έ swal λ΄λ³΄λ΄κΈ°;
λ€μμ€νμ΄μ€ swalλ‘ λ΄λ³΄λ΄κΈ°;
import 'sweetalert'
μ require('sweetalert')
νλ©΄ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ μ¬λ¬λΆ,
μμ μ λ Έλ ₯μ μ μ½νκ³ sweetalert 2 https://sweetalert2.github.io/λ₯Ό μ¬μ©