전 세계적으로 설치할 수있는 패키지를 만들려고합니다. 내 package.json은 다음과 같습니다 :npm 전역 설치 노드를 사용하지 않음
{
"name": "my-new-package",
"version": "1.0.0",
"main": "index.js",
"preferGlobal": true,
"bin": {
"my-new-package": "index.js"
}
}
"node index.js"로 실행할 수 있으며 npm에 게시 할 수 있습니다.
문제는 내가 전 세계적으로 npm i -g my-new-package
를 설치하면 Windows에서 파일 my-new-package.cmd
는 점이다
@"%~dp0\node_modules\my-new-package\index.js" %*
내가 my-new-package
을 실행할 때 그래서 기본 편집기로 자바 스크립트 파일을 엽니 다.
대조적으로 다른 글로벌 패키지는 node.exe
을 사용합니다. 나는 리눅스를 설치할 때
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\node_modules\cute-files\cute-files.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\cute-files\cute-files.js" %*
가 BTW, 내가 같은 동작을 얻을 : 여기 cute-files.cmd
예입니다.
그렇다면 패키지가 전 세계적으로 설치되었을 때 노드를 사용하도록 패키지를 구성하려면 어떻게해야합니까?여기