π JSPμμ JavaScript λͺ¨λ μ¬μ©νκΈ°
JSPμμ JavaScript λͺ¨λμ μ¬μ©νλ €λ©΄ λͺ κ°μ§ μ£Όμν΄μΌ ν μ μ΄ μλ€. νΉν, <script type="module">μ μ¬μ©ν λ μ΄ν΄λ¦½μ€μμ μ½λ μμμ΄ μ¬λΌμ§λ λ¬Έμ κ° μμλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ©΄μ λͺ¨λμ μ¬μ©νλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
π 1. μΌλ°μ μΈ JS νμΌ λ‘λ λ°©λ²
κΈ°λ³Έμ μΌλ‘ JSPμμ JavaScript νμΌμ κ°μ Έμ€λ €λ©΄ <script src="..."></script>λ₯Ό μ¬μ©νλ©΄ λλ€.
<script src="/resources/js/common.js"></script>
common.js νμΌμ΄ λ‘λλλ©°, μ μ μ€μ½νμμ μ¬μ© κ°λ₯. νμ§λ§ ES6 λͺ¨λμ μ¬μ©νλ©΄ μ΄λ κ² λ‘λν μ μλ€.
π 2. ES6 λͺ¨λ(export / import) μ¬μ© λ°©λ²
ES6 λͺ¨λμ μ¬μ©νλ €λ©΄ <script type="module">μ μ¬μ©!! JSPμμ νμ€ λ°©μμ΄λ€.
π math.js (λͺ¨λ νμΌ, export μ¬μ©)
export function add(a, b) {
return a + b;
}
π index.jsp (λͺ¨λ κ°μ Έμ€κΈ°, import μ¬μ©)
<script type="module">
import { add } from "./resources/js/math.js";
console.log("3 + 5 =", add(3, 5));
</script>
βοΈ λͺ¨λμ μ¬μ©νλ©΄ import ν€μλλ₯Ό ν΅ν΄ νΉμ ν¨μλ§ κ°μ Έμ¬ μ μλ€.
β μ΄ν΄λ¦½μ€μμλ <script type="module">μ μ¬μ©νλ©΄ μ½λ μμμ΄ μ¬λΌμ§λ λ¬Έμ κ° λ°μ.
π 3. JSPμμ λͺ¨λμ μ½κ² μ¬μ©νλ €λ©΄? (window κ°μ²΄ νμ©)
type="module"μ μ¬μ©νμ§ μκ³ λ JSPμμ λͺ¨λμ²λΌ μ¬μ©νλ €λ©΄, μ μ κ°μ²΄(window)μ λ±λ‘νλ λ°©λ²μ μ¬μ©νλ€.
π math.js (λͺ¨λ νμΌμ μ μ λ³μλ‘ λ±λ‘)
function add(a, b) {
return a + b;
}
// μ μ κ°μ²΄μ λ±λ‘
window.MathUtils = { add };
π index.jsp (λͺ¨λμ²λΌ μ¬μ©)
<script src="/resources/js/math.js"></script>
<script>
console.log("3 + 5 =", MathUtils.add(3, 5));
</script>
βοΈ JSPμμ <script type="module"> μμ΄λ ES6 λͺ¨λμ²λΌ νμ©ν μ μλ€.
βοΈ μ΄ν΄λ¦½μ€μμλ μ½λ μμμ΄ μ μμ μΌλ‘ νμλλ€.
'Frontend > javaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JavaScript μ½λ μ€ν μμ & μ€ν νμ΄λ° μ μ΄ (0) | 2025.04.06 |
---|---|
[JavaScript] νΈμ΄μ€ν (Hoisting) (0) | 2024.07.05 |
iframe sesstion timeout (0) | 2023.10.13 |
[javaScript] file-saver νμΌ λ€μ΄λ‘λ (0) | 2023.10.02 |
checklist (vue3) (0) | 2023.07.20 |