"Node.js"라는 Node.JS(JavaScript) 스크립트를 시작해야 하는데 Windows에서 허용되지 않습니다. 동일한 폴더에 있고 command 를 입력하면 node Node.js
내 파일이 기본 편집기로 열립니다... 이 기능을 재정의하고 실행 대기열에서 명령을 먼저 만들고 파일을 두 번째로 만드는 방법입니다.
답변1
참으로 기발한 행동이다. 주문 창과 관련된 버그가 실행을 위해 명령줄을 구문 분석하는 것 같습니다. 아마도 그렇지 않을 것입니다.. 프로그래머가 의도한 것이 무엇인지 모르겠습니다.
간단한 해결책은 node 뒤에 .exe를 사용하거나("node.exe node.js"와 같이) 스크립트 이름을 node.js가 아닌 것으로 바꾸는 것입니다.
나는 할 수 없다완전히설명하지만 여기서 무슨 일이 일어나고 있는지 이해합니다.
node node.js를 실행하면 Windows에서 실행할 수 있는 프로그램 유형으로 ".js"가 나열됩니다. 명령줄에서 다음을 입력하면 echo %PATHEXT%
해당 목록 어딘가에서 ";.JS"를 찾을 수 있습니다.
Windows에서 무언가를 실행하고 확장 기능을 제공하지 않으면 Windows는 이 PATHEXT 목록을 확인하여 수행할 작업을 확인합니다. 순서를 무시하고 경로로 이동하기 전에 마지막으로 .EXE(버그?)와 로컬 디렉터리를 찾는 것처럼 보입니다.
실행 중인 항목이 목록에 있으면 실행할 항목에 대한 레지스트리 연결을 검색합니다. 이 경우,.JS창에서 편집기와 연결되어 있습니다.
어떻게 알 수 있나요? 이 버그를 재현하여 쉽게 알아낼 수 있도록 동일한 문제가 발생했습니다.
그렇게 하면
node node.js
"webstorm64.exe node node.js" 명령줄을 사용하여 웹스톰을 실행했습니다. Webstorm은 .js 파일의 기본값이었습니다. 그리고 추가사항도 참고하세요 (멍청해요)마디그걸로 넘어갔어...를 호출할 때
node.exe node.js
Windows는 .JS 파일에 대한 파일 연결을 조회하려고 시도하지 않았으며 모든 것이 아주 잘 작동했습니다.내 것을 편집한 후경로 확장목록에 .JS가 포함되어 있지 않으면 문제도 사라졌습니다. Windows 환경을 사용하여 PATHEXT를 편집할 수 있습니다.
구체적으로 말하면,"이 기능을 재정의하고 실행 대기열에서 명령을 먼저 만들고 파일을 두 번째로 만드는 방법".. PATHEXT 변수를 다시 정렬해 보았지만 소용이 없었습니다. 나는 그것이 후드 아래에서 무엇을 하고 있는지 정말로 말할 수 없습니다. 아마도 "node"라는 파일이 두 개 이상 지정되어 대신 JS 파일과 함께 사용되었기 때문일 것입니다. 모르겠어요.