이 답변을 어디에서나 찾을 수는 없지만 이것이 논의 된 여러 메일 목록을 찾았지만 다소 오래되었지만 이것이 구현되는지 여부는 알 수 없습니다.
어쨌든 node.js에서 엄격 모드를 강제로 사용해야합니까?
"use strict";
내 모든 .js 파일에 쓰기 … 글쎄, 나는 상용구를 추가하는 대신 엄격한 모드를 사용하는 것을 선호합니다.
답변
로이드에 따르면 이제 배치 할 수 있습니다
"use strict";
노드> = 0.10.7 의 파일 맨 위에 있지만 전체 앱을 엄격한 ( 외부 모듈 포함 ) 실행하려면이 작업을 수행 할 수 있습니다
노드 –use_strict
답변
노드 0.10.7에서는 파일 "use strict";
맨 위에 배치하여 파일 레벨에서 엄격 모드를 시행 할 수 있습니다 . 드디어!
답변
당신은 또한 사용할 수 있습니다
https://npmjs.org/package/use-strict
즉, 한 번 쓴다
require('use-strict')
한발 더 나아가서
https://npmjs.org/package/node-strict
참고 use-strict
호출 후 필요한 모든 모듈에 엄격한 더 켜됩니다.
침습적이지 않은 접근 방식을 선호한다면 다른 모듈을 작성했습니다.
https://www.npmjs.org/package/strict-mode
패키지에서만 엄격 모드를 활성화합니다. 나는 이것이 “무엇을해야합니까”솔루션이라고 생각합니다.
답변
"use strict";
해당 파일 상단에서 사용 하십시오. 상용구를 잘라 내고 싶은 유혹이 있지만 자바 스크립트로는 불가능합니다. 명명되지 않은 노드 플래그 [1]
- 노드 자체에 의해 문서화되지 않고 지원되지 않습니다.
- 제거 제안에 직면 했습니다.
- 노드마다 다르며 다른 JavaScript 엔진에서는 지원되지 않습니다.
- 표준화되지 않았습니다.
- 그것은 하지 와 같은
"use strict";
이 컴파일러 글로벌이기 때문에, 모든 전역 같이 잠재적으로 악영향을 다른 사람의 코드에 영향을 미치는 것입니다. - 모든 것은 버그가 있습니다. 엄격 모드와 조잡한 모드에는 다른 버그가있을 수 있습니다. 즉, 일부 엄격 모드 버그는 엄격 모드에 고유합니다.
다른 프로그래머들은 이것이 비슷 -wALL
하거나 비슷하다고 생각할 수도 있습니다 . 이것은 표준 방식을 능가하고 모든 사람의 컴파일러 의미를 변경하는 표준 기능입니다.
각주
- 노드 플래그는
--use_strict
입니다. 사용하지 마십시오 .
답변
shebang 인터프리터 지시문에 엄격한 플래그를 제공 할 수도 있습니다.
#!/usr/bin/env node --use_strict
그러나 현재 (적어도 v0.9.x 이전) @ chad-scira의 답변 토론에 언급 된 것과 동일한 문제가 발생합니다.