π₯οΈ Windows 10μμ λ°μνλ λ¬Έμ
νμ§λ§ κ°μ λͺ
λ Ήμ΄λ₯Ό Windows 10μμ μ€ννλ©΄ λ¬Έμ κ° λ°μν μ μμ΄μ. μλ₯Ό λ€μ΄, pm2 lsλ‘ μνλ₯Ό νμΈνλ©΄ errored μνκ° λ¨λ©΄μ λ€μκ³Ό κ°μ μ€λ₯κ° λ°μν μ μμ΅λλ€:
C:\PROGRAM FILES\NODEJS\NPM.CMD:1, :: Created by npm, please don't edit manually., SyntaxError: Unexpected token ':'
C:\Users\Administrator\.pm2\logs\testame-out.log last 15 lines:
C:\Users\Administrator\.pm2\logs\testame-error.log last 15 lines:
0|testame | C:\PROGRAM FILES\NODEJS\NPM.CMD:1
0|testame | :: Created by npm, please don't edit manually.
0|testame | ^
0|testame |
0|testame | SyntaxError: Unexpected token ':'
0|testame | at Object.compileFunction (node:vm:360:18)
0|testame | at wrapSafe (node:internal/modules/cjs/loader:1088:15)
0|testame | at Module._compile (node:internal/modules/cjs/loader:1123:27)
0|testame | at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
0|testame | at Module.load (node:internal/modules/cjs/loader:1037:32)
0|testame | at Module._load (node:internal/modules/cjs/loader:878:12)
0|testame | at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
0|testame | at node:internal/main/run_main_module:23:47
0|testame |
0|testame | Node.js v18.12.0
π€ μμΈ
Windowsμμ PM2κ° npm λͺ
λ Ήμ΄λ₯Ό μ§μ μ€νν λ νΈνμ± λ¬Έμ κ° λ°μνκΈ° λλ¬Έμ΄μμ. λ°λΌμ μ½κ°μ μ°ν μμ
μ΄ νμν©λλ€!
β
Windows 10μμ PM2 ν΄κ²° λ°©λ²
Windowsμμ PM2λ₯Ό μ μμ μΌλ‘ μ¬μ©νλ €λ©΄ λ€μ λ¨κ³λ₯Ό λ°λΌμ£ΌμΈμ:
1οΈβ£ νλ‘μ νΈ λ£¨νΈμ app.js μμ±
app.jsλΌλ νμΌμ νλ‘μ νΈ ν΄λμ λ§λ€μ΄μ£ΌμΈμ.
2οΈβ£ app.jsμ μ€ν μ½λ μΆκ°
μλ μ½λλ₯Ό app.jsμ μ
λ ₯νμΈμ. μ΄ μ½λλ npm run startλ₯Ό μ€ννλ μν μ ν©λλ€:
const exec = require('child_process').exec;
const path = require('path');
const client = exec('npm run start', {
windowsHide: true,
cwd: path.join(__dirname, './'),
});
client.stdout.pipe(process.stdout);
client.stderr.pipe(process.stderr);
3οΈβ£ PM2λ‘ μ€ννκΈ°
CMD(λͺ
λ Ή ν둬ννΈ)μμ νλ‘μ νΈ ν΄λλ‘ μ΄λν ν, λ€μ λͺ
λ Ήμ΄λ₯Ό μ
λ ₯νμΈμ:
pm2 start app.js
μ΄μ μ€λ₯ μμ΄ μ μμ μΌλ‘ μλ²κ° μ€νλ©λλ€! π
π 리λ
μ€ vs Windows μ¬μ©λ² λΉκ΅
μ΄μ체μ μ€ν λ°©λ²
리λ
μ€ |
pm2 start npm --name "appName" -- run start |
Windows |
app.js νμΌμ λ§λ€μ΄ μ€νν΄μΌ ν¨ (pm2 start app.js) |
μ¦, 리λ
μ€λ λ°λ‘ μ€ν κ°λ₯νμ§λ§, Windowsμμλ μΆκ° μ€μ μ΄ νμνλ€λ μ μ κΈ°μ΅νμΈμ! π₯
π― λ§λ¬΄λ¦¬
PM2λ μλ² μ΄μμ λ μ½κ³ μμ μ μΌλ‘ λ§λ€μ΄μ£Όλ λ©μ§ λꡬμμ. νμ§λ§ μ΄μ체μ μ λ°λΌ μ¬μ©λ²μ΄ μ½κ° λ€λ₯Ό μ μμΌλ, νκ²½μ λ§λ μ€μ μ μ μ©νλ κ²μ΄ μ€μν©λλ€.
PM2λ₯Ό μ νμ©ν΄μ μ¬λ¬λΆμ νλ‘μ νΈλ₯Ό 무μ€λ¨ μλΉμ€λ‘ μ΄μν΄λ³΄μΈμ! π
ν¨κ»λ³΄λ©΄ μ’μκΈ
[TypeScript] νλ‘ νΈμλ κ°λ°μλ₯Ό μν SOLID μμΉ. (feat.νμ
μ€ν¬λ¦½νΈ)
[TypeScript] νλ‘ νΈμλ κ°λ°μλ₯Ό μν SOLID μμΉ. (feat.νμ
μ€ν¬λ¦½νΈ)
S.O.L.I.D μμΉ νμ
μ€ν¬λ¦½νΈ μ½λ μμ λ‘ μ΄ν΄νκΈ°κΉ¨λνκ³ μ μ§λ³΄μνκΈ° μ¬μ΄ μ½λλ₯Ό μμ±νλ κ²μ λ¨μν λμνλ μ½λλ₯Ό μμ±νλ κ²λ§νΌ μ€μν©λλ€.S.O.L.I.D μμΉμ μκ°μ΄ μ§λλ μ½κ² μ‘°
intelloper.tistory.com
[JavaScript] νλ‘ νΈμλ κ°λ°μλ₯Ό μν ν¨μν νλ‘κ·Έλλ°(functional programming)
[JavaScript] νλ‘ νΈμλ κ°λ°μλ₯Ό μν ν¨μν νλ‘κ·Έλλ°(functional programming)
JavaScript κ°λ°μλ₯Ό μν ν¨μν νλ‘κ·Έλλ°JavaScriptλ λ€μν μ€νμΌλ‘ μ½λλ₯Ό μμ±ν μ μλ μ μ°ν μΈμ΄μ
λλ€. λͺ
λ Ήν(imperative), κ°μ²΄ μ§ν₯(object-oriented), κ·Έλ¦¬κ³ ν¨μν(functional) νλ‘κ·Έλλ°
intelloper.tistory.com
μλμ΄ κ°λ°μλ€μ μ΄λ°κ±° μνλμ. (κ°λ°μ λ¬Όκ²½λ ₯ λ°©μ§)
μλμ΄ κ°λ°μλ€μ μ΄λ°κ±° μνλμ. (κ°λ°μ λ¬Όκ²½λ ₯ λ°©μ§)
μ£Όλμ΄ κ°λ°μμμ λ©μΆ° μμμλ§μ μλ€! μ°μ°¨λ μμ΄λλ° μμ μ μ€λ ₯λ μμ¬μΌκ² μ£ ? μλμ΄ κ°λ°μλ€μ μ΄λ»κ² νλμ§ νꡬν΄λ΄
μλ€.λͺ¨λ μλμ΄ κ°λ°μλ μ²μμλ κΈ°μ΄μ μΈ μ½λ© μ€λ ₯κ³Ό
intelloper.tistory.com