path.join()
및 path와 같이 path.relative()
🎜🎜🎜를 사용하세요. extname()
과 같은 메소드는 파일 경로가 사용되는 대부분의 사용 사례를 다룹니다. 그러나 경로 모듈에는 path.relative()
와 같은 몇 가지 고급 메서드가 있습니다. 🎜🎜path.relative(from, to)
메서드는 현재 작업 디렉터리를 기준으로 from
에서 to
까지의 상대 경로를 반환합니다. from
및 to
가 모두 동일한 경로로 확인되면(각각 path.resolve()
호출 후) 길이가 0인 문자열이 반환됩니다. 🎜rrreee🎜path.relative()
메서드는 한 디렉터리에 대한 상대 경로가 제공되었지만 다른 디렉터리에 대한 상대 경로가 필요한 경우 유용합니다. 예를 들어, 널리 사용되는 파일 시스템 모니터링 라이브러리 Chokidar🎜는 감시 디렉터리에 대한 상대 경로를 제공합니다. 🎜rrreee🎜이것이 바로 Chokidar🎜 도구가 많이 사용되는 이유입니다. 예를 들어 일반적인 Gatsby나 webpack도 내부적으로 path.relative()
메서드를 광범위하게 사용합니다. 🎜🎜예를 들어 Gatsby는 path.relative()
메서드를 사용하여 정적 파일 디렉터리를 동기화하는 데 도움을 줍니다. 🎜rrreee🎜이제 사용자가 static
디렉터리에 새 파일 main.js
를 추가한다고 가정해 보겠습니다. Chokidar는 경로가 static/main.js
로 설정된 on('add')
이벤트 핸들러를 호출합니다. 그러나 파일을 /public
에 복사하면 추가 static/
가 필요하지 않습니다. 🎜🎜path.relative('static', 'static/main.js')
를 호출하여 static
에 상대적인 static/main.js
를 반환합니다. static
의 내용을 public
으로 복사하려는 경로입니다. 🎜跨操作系统路径和 URL" >🎜Commonly 사용된 경로 방법 🎜🎜🎜 경로 모듈에는 파일 확장자나 디렉터리와 같은 경로 구성 요소를 추출하는 여러 가지 방법도 있습니다. 🎜🎜path.extname()
메서드는 파일 확장자를 문자열로 반환합니다. 🎜rrreee🎜 두 경로를 연결하는 것처럼 파일 확장자를 가져오는 것은 처음에 보이는 것보다 더 복잡합니다. 🎜🎜경로가 .
로 끝나면 .
가 반환됩니다. 파일에 확장자가 없고 .
로 끝나지 않거나 파일에 확장자가 없으면 null 값이 반환됩니다. 🎜rrreee🎜경로 모듈에는 파일 이름(확장명 포함)과 디렉터리를 각각 가져오는 path.basename()
및 path.dirname()
메서드도 있습니다. 🎜rrreee🎜 path.parse()
메서드는 확장 프로그램과 디렉터리를 포함하여 5개의 서로 다른 구성 요소로 구분된 경로가 포함된 객체를 반환합니다. path.parse()
메서드는 확장자 없이 파일 이름을 가져오는 방법이기도 합니다. 🎜rrreee🎜 path.join()
및 path와 같이 path.relative()
🎜🎜🎜를 사용하세요. extname()
과 같은 메소드는 파일 경로가 사용되는 대부분의 사용 사례를 다룹니다. 그러나 경로 모듈에는 path.relative()
와 같은 몇 가지 고급 메서드가 있습니다. 🎜🎜path.relative(from, to)
메서드는 현재 작업 디렉터리를 기준으로 from
에서 to
까지의 상대 경로를 반환합니다. from
및 to
가 모두 동일한 경로로 확인되면(각각 path.resolve()
호출 후) 길이가 0인 문자열이 반환됩니다. 🎜rrreee🎜path.relative()
메서드는 한 디렉터리에 대한 상대 경로가 제공되었지만 다른 디렉터리에 대한 상대 경로가 필요한 경우 유용합니다. 예를 들어, 널리 사용되는 파일 시스템 모니터링 라이브러리 Chokidar🎜는 감시 디렉터리에 대한 상대 경로를 제공합니다. 🎜rrreee🎜이것이 바로 Chokidar🎜 도구가 많이 사용되는 이유입니다. 예를 들어 일반적인 Gatsby나 webpack도 내부적으로 path.relative()
메서드를 광범위하게 사용합니다. 🎜🎜예를 들어 Gatsby는 path.relative()
메서드를 사용하여 정적 파일 디렉터리를 동기화하는 데 도움을 줍니다. 🎜rrreee🎜이제 사용자가 static
디렉터리에 새 파일 main.js
를 추가한다고 가정해 보겠습니다. Chokidar는 경로가 static/main.js
로 설정된 on('add')
이벤트 핸들러를 호출합니다. 그러나 파일을 /public
에 복사하면 추가 static/
가 필요하지 않습니다. 🎜🎜path.relative('static', 'static/main.js')
를 호출하여 static
에 상대적인 static/main.js
를 반환합니다. static
의 내용을 public
으로 복사하려는 경로입니다. 🎜跨操作系统路径和 URL
path.join()
및 path와 같이 path.relative()
🎜🎜🎜를 사용하세요. extname()
과 같은 메소드는 파일 경로가 사용되는 대부분의 사용 사례를 다룹니다. 그러나 경로 모듈에는 path.relative()
와 같은 몇 가지 고급 메서드가 있습니다. 🎜🎜path.relative(from, to)
메서드는 현재 작업 디렉터리를 기준으로 from
에서 to
까지의 상대 경로를 반환합니다. from
및 to
가 모두 동일한 경로로 확인되면(각각 path.resolve()
호출 후) 길이가 0인 문자열이 반환됩니다. 🎜rrreee🎜path.relative()
메서드는 한 디렉터리에 대한 상대 경로가 제공되었지만 다른 디렉터리에 대한 상대 경로가 필요한 경우 유용합니다. 예를 들어, 널리 사용되는 파일 시스템 모니터링 라이브러리 Chokidar🎜는 감시 디렉터리에 대한 상대 경로를 제공합니다. 🎜rrreee🎜이것이 바로 Chokidar🎜 도구가 많이 사용되는 이유입니다. 예를 들어 일반적인 Gatsby나 webpack도 내부적으로 path.relative()
메서드를 광범위하게 사용합니다. 🎜🎜예를 들어 Gatsby는 path.relative()
메서드를 사용하여 정적 파일 디렉터리를 동기화하는 데 도움을 줍니다. 🎜rrreee🎜이제 사용자가 static
디렉터리에 새 파일 main.js
를 추가한다고 가정해 보겠습니다. Chokidar는 경로가 static/main.js
로 설정된 on('add')
이벤트 핸들러를 호출합니다. 그러나 파일을 /public
에 복사하면 추가 static/
가 필요하지 않습니다. 🎜🎜path.relative('static', 'static/main.js')
를 호출하여 static
에 상대적인 static/main.js
를 반환합니다. static
의 내용을 public
으로 복사하려는 경로입니다. 🎜跨操作系统路径和 URL
Node.js의 경로 모듈과 일반적인 메소드에 대한 간략한 토론
이 글에서는 Node.js의 Path 모듈을 살펴보고 Path 모듈의 사용법과 일반적으로 사용되는 Path 메서드를 소개합니다.
Node.js path 모듈은 운영 체제 독립적인 방식으로 파일 시스템 경로 작업을 돕는 내장 모듈입니다. OSX, Linux 및 Windows를 지원하는 CLI 도구를 구축하려면 Path 모듈이 필수적입니다. [추천 학습: "nodejs Tutorial"]
Linux에서만 실행되는 백엔드 서비스를 구축하는 경우에도 경로 모듈은 경로를 조작할 때 엣지 케이스를 피하는 데 도움이 됩니다.
아래에서는 경로 모듈을 사용하는 몇 가지 일반적인 패턴과 경로를 문자열로 조작하는 대신 경로 모듈을 사용해야 하는 이유를 설명합니다.
Node에서 Path 모듈 사용
path 모듈에서 가장 일반적으로 사용되는 방법은 path.join()
입니다. 이 메서드는 아래와 같이 하나 이상의 경로 세그먼트를 단일 문자열로 결합합니다. path.join()
。该方法将一个或多个路径段合并为一个字符串,如下所示:
const path = require('path') path.join('/path', 'to', 'test.txt') // '/path/to/test.txt'
您可能想知道为什么要使用 path.join()
方法而不是字符串拼接。
'/path' + '/' + 'to' + '/' + 'test.txt' // '/path/to/test.txt' ['/path', 'to', 'test.txt'].join('/') // '/path/to/test.txt'
原因主要有两个:
- 对于 Windows 支持。Windows 使用反斜杠(
)而不是正斜杠(
/
)作为路径分隔符。path.join()
会为我们处理此问题。因为path.join('data', 'test.txt')
在 Linux 和 OSX 以及 Windows 上都会返回'data/test.txt'
。 - 用于处理边缘情况。使用文件系统路径时,会弹出许多边缘情况。例如,如果您尝试手动连接两个路径,您可能会意外地得到重复的路径分隔符。
path.join()
方法为我们处理开头和结尾的斜杠,如下所示:
path.join('data', 'test.txt') // 'data/test.txt' path.join('data', '/test.txt') // 'data/test.txt' path.join('data/', 'test.txt') // 'data/test.txt' path.join('data/', '/test.txt') // 'data/test.txt'
常用的 Path 方法
path 模块还具有几个用于提取路径组件的方法,例如文件扩展名或目录。
path.extname()
方法以字符串形式返回文件扩展名:
path.extname('/path/to/test.txt') // '.test'
就像连接两条路径一样,获取文件扩展名比最初看起来要复杂。
如果 path 以 .
为结尾,将返回 .
。如果文件无扩展名,又不以 .
结尾,或文件没有扩展名,将返回空值。
path.extname('/path/to/index.') // '.' path.extname('/path/to/README') // '' path.extname('/path/to/.gitignore') // ''
path 模块还有 path.basename()
和 path.dirname()
方法,分别获取文件名(包括扩展名)和目录。
path.basename('/path/to/test.txt') // 'test.txt' path.dirname('/path/to/test.txt') // '/path/to'
path.parse()
方法返回一个对象,该对象包含分为五个不同组件的路径,包括扩展名和目录。path.parse()
方法也是不带任何扩展名获取文件名的方法。
path.parse('/path/to/test.txt') /* { root: '/', dir: '/path/to', base: 'test.txt', ext: '.txt', name: 'test' } */
使用 path.relative()
像 path.join()
和 path.extname()
这样的方法涵盖了大多数使用文件路径的用例。但是 path 模块有几个更高级的方法,例如 path.relative()
。
path.relative(from, to)
方法根据当前工作目录返回从 from
到 to
的相对路径。 如果 from
和 to
都解析为相同的路径(在分别调用 path.resolve()
之后),则返回零长度字符串。
// 返回相对于第一条路径的第二条路径的路径 path.relative('/app/views/home.html', '/app/layout/index.html') // '../../layout/index.html'
如果给定了相对于一个目录的路径,但需要相对于另一个目录的路径,则 path.relative()
方法非常有用。例如,流行的文件系统监视库 Chokidar 提供了相对于监视目录的路径。
const watcher = chokidar.watch('mydir') // 如果用户添加 mydir/path/to/test.txt,则会打印 mydir/path/to/test.txt watcher.on('add', path => console.log(path))
这就是为什么大量的使用 Chokidar 工具。如常见的 Gatsby 或 webpack,其在内部也大量使用 path.relative()
方法。
例如,Gatsby 使用 path.relative()
方法帮助同步静态文件目录。
export const syncStaticDir = (): void => { const staticDir = nodePath.join(process.cwd(), `static`) chokidar .watch(staticDir) .on(`add`, path => { const relativePath = nodePath.relative(staticDir, path) fs.copy(path, `${process.cwd()}/public/${relativePath}`) }) .on(`change`, path => { const relativePath = nodePath.relative(staticDir, path) fs.copy(path, `${process.cwd()}/public/${relativePath}`) }) }
现在,假设用户向 static
目录添加了一个新文件 main.js
。Chokidar 调用 on('add')
事件处理程序,路径设置为 static/main.js
。但是,当您将文件复制到 /public
时,不需要额外的 static/
。
调用 path.relative('static', 'static/main.js')
返回 static/main.js
相对于 static
的路径,这正是您想要将 static
的内容复制到 public
// 返回 'path\to\test.txt',与操作系统无关 path.win32.join('path', 'to', 'test.txt') // 返回 'path/to/test.txt',与操作系统无关 path.posix.join('path', 'to', 'test.txt')
path.join()
메서드를 사용해야 하는 이유가 궁금할 수도 있습니다. 🎜// 'https://api.mydomain.app/api/v2/me' 'https://api.mydomain.app/' + path.join('api', 'v2', 'me')
- 🎜Windows 지원🎜. Windows에서는 경로 구분 기호로 슬래시(
/
) 대신 백슬래시()를 사용합니다.
path.join()
이 이를 처리합니다. Windows뿐만 아니라 Linux, OSX에서도path.join('data', 'test.txt')
가'data/test.txt'
를 반환하기 때문입니다. - 🎜특정 사례를 처리하는 데 사용됩니다🎜. 파일 시스템 경로를 사용할 때 나타나는 극단적인 경우가 많이 있습니다. 예를 들어 두 경로를 수동으로 연결하려고 하면 실수로 중복된 경로 구분 기호가 나타날 수 있습니다.
path.join()
메소드는 아래와 같이 선행 및 후행 슬래시를 처리합니다.
🎜Commonly 사용된 경로 방법 🎜🎜🎜 경로 모듈에는 파일 확장자나 디렉터리와 같은 경로 구성 요소를 추출하는 여러 가지 방법도 있습니다. 🎜🎜path.extname()
메서드는 파일 확장자를 문자열로 반환합니다. 🎜rrreee🎜 두 경로를 연결하는 것처럼 파일 확장자를 가져오는 것은 처음에 보이는 것보다 더 복잡합니다. 🎜🎜경로가 .
로 끝나면 .
가 반환됩니다. 파일에 확장자가 없고 .
로 끝나지 않거나 파일에 확장자가 없으면 null 값이 반환됩니다. 🎜rrreee🎜경로 모듈에는 파일 이름(확장명 포함)과 디렉터리를 각각 가져오는 path.basename()
및 path.dirname()
메서드도 있습니다. 🎜rrreee🎜 path.parse()
메서드는 확장 프로그램과 디렉터리를 포함하여 5개의 서로 다른 구성 요소로 구분된 경로가 포함된 객체를 반환합니다. path.parse()
메서드는 확장자 없이 파일 이름을 가져오는 방법이기도 합니다. 🎜rrreee🎜 path.join()
및 path와 같이 <code>path.relative()
🎜🎜🎜를 사용하세요. extname()과 같은 메소드는 파일 경로가 사용되는 대부분의 사용 사례를 다룹니다. 그러나 경로 모듈에는 path.relative()
와 같은 몇 가지 고급 메서드가 있습니다. 🎜🎜path.relative(from, to)
메서드는 현재 작업 디렉터리를 기준으로 from
에서 to
까지의 상대 경로를 반환합니다. from
및 to
가 모두 동일한 경로로 확인되면(각각 path.resolve()
호출 후) 길이가 0인 문자열이 반환됩니다. 🎜rrreee🎜path.relative()
메서드는 한 디렉터리에 대한 상대 경로가 제공되었지만 다른 디렉터리에 대한 상대 경로가 필요한 경우 유용합니다. 예를 들어, 널리 사용되는 파일 시스템 모니터링 라이브러리 Chokidar🎜는 감시 디렉터리에 대한 상대 경로를 제공합니다. 🎜rrreee🎜이것이 바로 Chokidar🎜 도구가 많이 사용되는 이유입니다. 예를 들어 일반적인 Gatsby나 webpack도 내부적으로 path.relative()
메서드를 광범위하게 사용합니다. 🎜🎜예를 들어 Gatsby는 path.relative()
메서드를 사용하여 정적 파일 디렉터리를 동기화하는 데 도움을 줍니다. 🎜rrreee🎜이제 사용자가 static
디렉터리에 새 파일 main.js
를 추가한다고 가정해 보겠습니다. Chokidar는 경로가 static/main.js
로 설정된 on('add')
이벤트 핸들러를 호출합니다. 그러나 파일을 /public
에 복사하면 추가 static/
가 필요하지 않습니다. 🎜🎜path.relative('static', 'static/main.js')
를 호출하여 static
에 상대적인 static/main.js
를 반환합니다. static
의 내용을 public
으로 복사하려는 경로입니다. 🎜跨操作系统路径和 URL
默认情况下,path 模块会根据 Node 进程运行的操作系统自动在 POSIX(OSX、Linux)和 Windows 模式之间切换。
但是,path 模块确实可以在 POSIX 上使用 Windows path 模块,反之亦然。path.posix
和 path.win32
属性分别包含 path 模块的 Posix 和 Windows 版本。
// 返回 'path\to\test.txt',与操作系统无关
path.win32.join('path', 'to', 'test.txt')
// 返回 'path/to/test.txt',与操作系统无关
path.posix.join('path', 'to', 'test.txt')
로그인 후 복사로그인 후 복사在大多数情况下,根据检测到的操作系统自动切换 path 模块是正确的行为。但是,使用 path.posix
和 path.win32
属性对于总是希望输出 Windows 或 Linux 样式路径的测试或应用程序可能会有所帮助。
例如,一些应用程序使用 path.join()
和 path.extname()
等方法处理 URL 路径。
// 'https://api.mydomain.app/api/v2/me'
'https://api.mydomain.app/' + path.join('api', 'v2', 'me')
로그인 후 복사로그인 후 복사这种方法适用于 Linux 和 OSX,但如果有人试图将您的应用程序部署到一些无服务器上会发生什么?
你最终会得到 https://api.mydomain.app/api\v2\me
,这不是有效的 URL!如果使用 path 模块操作 URL,则应使用 path.posix
。
原文地址:https://juejin.cn/post/6997799224213504037
作者:lio_zero
更多编程相关知识,请访问:编程视频!!
위 내용은 Node.js의 경로 모듈과 일반적인 메소드에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
path.join()
및 path와 같이 <code>path.relative()
🎜🎜🎜를 사용하세요. extname()과 같은 메소드는 파일 경로가 사용되는 대부분의 사용 사례를 다룹니다. 그러나 경로 모듈에는 path.relative()
와 같은 몇 가지 고급 메서드가 있습니다. 🎜🎜path.relative(from, to)
메서드는 현재 작업 디렉터리를 기준으로 from
에서 to
까지의 상대 경로를 반환합니다. from
및 to
가 모두 동일한 경로로 확인되면(각각 path.resolve()
호출 후) 길이가 0인 문자열이 반환됩니다. 🎜rrreee🎜path.relative()
메서드는 한 디렉터리에 대한 상대 경로가 제공되었지만 다른 디렉터리에 대한 상대 경로가 필요한 경우 유용합니다. 예를 들어, 널리 사용되는 파일 시스템 모니터링 라이브러리 Chokidar🎜는 감시 디렉터리에 대한 상대 경로를 제공합니다. 🎜rrreee🎜이것이 바로 Chokidar🎜 도구가 많이 사용되는 이유입니다. 예를 들어 일반적인 Gatsby나 webpack도 내부적으로 path.relative()
메서드를 광범위하게 사용합니다. 🎜🎜예를 들어 Gatsby는 path.relative()
메서드를 사용하여 정적 파일 디렉터리를 동기화하는 데 도움을 줍니다. 🎜rrreee🎜이제 사용자가 static
디렉터리에 새 파일 main.js
를 추가한다고 가정해 보겠습니다. Chokidar는 경로가 static/main.js
로 설정된 on('add')
이벤트 핸들러를 호출합니다. 그러나 파일을 /public
에 복사하면 추가 static/
가 필요하지 않습니다. 🎜🎜path.relative('static', 'static/main.js')
를 호출하여 static
에 상대적인 static/main.js
를 반환합니다. static
의 내용을 public
으로 복사하려는 경로입니다. 🎜跨操作系统路径和 URL
默认情况下,path 模块会根据 Node 进程运行的操作系统自动在 POSIX(OSX、Linux)和 Windows 模式之间切换。
但是,path 模块确实可以在 POSIX 上使用 Windows path 模块,反之亦然。path.posix
和 path.win32
属性分别包含 path 模块的 Posix 和 Windows 版本。
// 返回 'path\to\test.txt',与操作系统无关 path.win32.join('path', 'to', 'test.txt') // 返回 'path/to/test.txt',与操作系统无关 path.posix.join('path', 'to', 'test.txt')
在大多数情况下,根据检测到的操作系统自动切换 path 模块是正确的行为。但是,使用 path.posix
和 path.win32
属性对于总是希望输出 Windows 或 Linux 样式路径的测试或应用程序可能会有所帮助。
例如,一些应用程序使用 path.join()
和 path.extname()
等方法处理 URL 路径。
// 'https://api.mydomain.app/api/v2/me' 'https://api.mydomain.app/' + path.join('api', 'v2', 'me')
这种方法适用于 Linux 和 OSX,但如果有人试图将您的应用程序部署到一些无服务器上会发生什么?
你最终会得到 https://api.mydomain.app/api\v2\me
,这不是有效的 URL!如果使用 path 模块操作 URL,则应使用 path.posix
。
原文地址:https://juejin.cn/post/6997799224213504037
作者:lio_zero
更多编程相关知识,请访问:编程视频!!
위 내용은 Node.js의 경로 모듈과 일반적인 메소드에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 NodeJS V8 엔진의 메모리 및 가비지 수집기(GC)에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다.

Non-Blocking, Event-Driven 기반으로 구축된 Node 서비스는 메모리 소모가 적다는 장점이 있으며, 대규모 네트워크 요청을 처리하는데 매우 적합합니다. 대규모 요청을 전제로 '메모리 제어'와 관련된 문제를 고려해야 합니다. 1. V8의 가비지 수집 메커니즘과 메모리 제한 Js는 가비지 수집 기계에 의해 제어됩니다.

Node용 Docker 이미지를 선택하는 것은 사소한 문제처럼 보일 수 있지만 이미지의 크기와 잠재적인 취약점은 CI/CD 프로세스와 보안에 상당한 영향을 미칠 수 있습니다. 그렇다면 최고의 Node.js Docker 이미지를 어떻게 선택합니까?

파일 모듈은 파일 읽기/쓰기/열기/닫기/삭제 추가 등과 같은 기본 파일 작업을 캡슐화한 것입니다. 파일 모듈의 가장 큰 특징은 모든 메소드가 **동기** 및 ** 두 가지 버전을 제공한다는 것입니다. 비동기**, sync 접미사가 있는 메서드는 모두 동기화 메서드이고, 없는 메서드는 모두 이기종 메서드입니다.

Node 19가 정식 출시되었습니다. 이 글에서는 Node.js 19의 6가지 주요 기능에 대해 자세히 설명하겠습니다. 도움이 되셨으면 좋겠습니다!

Node.js는 GC(가비지 수집)를 어떻게 수행하나요? 다음 기사에서는 이에 대해 설명합니다.

이벤트 루프는 Node.js의 기본 부분이며 메인 스레드가 차단되지 않도록 하여 비동기 프로그래밍을 가능하게 합니다. 이벤트 루프를 이해하는 것은 효율적인 애플리케이션을 구축하는 데 중요합니다. 다음 기사는 Node.js의 이벤트 루프에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다!

nodejs 실행 파일을 pkg로 패키징하는 방법은 무엇입니까? 다음 기사에서는 pkg를 사용하여 Node 프로젝트를 실행 파일로 패키징하는 방법을 소개합니다. 도움이 되기를 바랍니다.
