{{위키데이터 속성 추적}}
'''CommonJS'''는 [[웹 브라우저]] 밖의 [[자바스크립트]]를 위한 [[함수 (프로그래밍)|모듈]] 생태계의 규칙을 설립하기 위한 프로젝트이다.

== 역사 ==
이 프로젝트는 [[모질라]]의 엔지니어 Kevin Dangoor에 의해 2009년 1월 시작되었으며 처음 이름은 '''ServerJS'''였다.<ref name="init">[http://www.blueskyonmars.com/2009/01/29/what-server-side-javascript-needs/ What Server Side JavaScript needs - Blue Sky On Mars<!-- Bot generated title -->]</ref>
2009년 8월, 이 프로젝트의 이름은 [[API]]의 더 넓은 적용 가능성을 보여주기 위해 CommonJS로 변경되었다.<ref name="hist">{{웹 인용 |url=http://commonjs.org/history/ |제목=CommonJS: JavaScript Standard Library<!-- Bot generated title --> |확인날짜=2019-04-19 |archive-date=2010-05-21 |archive-url=https://web.archive.org/web/20100521212905/http://commonjs.org/history |url-status= }}</ref> 사양은 개방된 프로세스로 만들어져 승인되어 있다. 사양은 여러 구현체에 의해 완료된 이후에만 최종(final)으로 간주된다.<ref>[http://wiki.commonjs.org/wiki/ProposalProcess ProposalProcess - CommonJS Spec Wiki<!-- Bot generated title -->]</ref> CommonJS는 [[ECMA스크립트]]를 작업하는 [[Ecma 인터내셔널]] 그룹 TC39와 연계하지 않고 있으나 TC39의 일부 구성원들은 이 프로젝트에 참여하고 있다.<ref>[http://www.blueskyonmars.com/2010/01/29/commonjs-the-first-year/ CommonJS: the First Year - Blue Sky On Mars<!-- Bot generated title -->]</ref>

2013년 5월, [[Node.js]]의 패키지 관리자 [[Npm (소프트웨어)|npm]]의 개발자 Isaac Z. Schlueter는 CommonJS가 Node.js에 의해 퇴색되었으며 핵심 Node.js 개발자들에 의해 사용이 회피되고 있다고 언급하였다.<ref name=commonjdisdead>{{웹 인용|last1=Schlueter|first1=Isaac Z.|title=Forget CommonJS. It's dead. **We are server side JavaScript.**|url=https://github.com/joyent/node/issues/5132#issuecomment-15432598|website=[[깃허브]]|date=25 Mar 2013}}</ref>

== 사양 ==
사양 목록은 다음을 포함한다:<ref>{{웹 인용 |url=http://commonjs.org/specs/ |title=JavaScript Standard Library |publisher=CommonJS |date= |accessdate=2012-09-21 |archive-date=2010-03-23 |archive-url=https://web.archive.org/web/20100323020119/http://commonjs.org/specs/ |url-status= }}</ref>

=== 현재 ===
{{columns-list|colwidth=22em|
* Modules/1.0 (Superseded by Modules/1.1)
* Modules/1.1
* Modules/1.1.1
* Packages/1.0
* Promises/B
* Promises/C
* System/1.0
}}

=== 제안 ===
{{columns-list|colwidth=22em|
* Binary/B
* Binary/F
* Console
* Encodings/A
* Filesystem/A
* Filesystem/A/0
* Modules/Async/A
* Modules/Transport/B
* Packages/1.1
* Packages/Mappings
* Unit Testing/1.0
}}

== 구현체 ==
{{columns-list|colwidth=22em|
* Akshell<ref>[http://www.akshell.com Server-side JavaScript development and hosting - Akshell<!-- Bot generated title -->]</ref>
* Common Node<ref>{{웹 인용 |url=https://olegp.github.com/common-node/ |제목=olegp/common-node @ GitHub<!-- Bot generated title --> |확인날짜=2019-04-19 |archive-date=2012-11-21 |archive-url=https://web.archive.org/web/20121121035201/http://olegp.github.com/common-node/ }}</ref>
* CommonJS Compiler - a command-line tool that makes Common JS modules suitable for in-browser use<ref>[https://dsheiko.github.io/cjsc/ - GitHub]</ref>
* CommonJS for PHP - a light-weight CommonJS implementation for PHP&nbsp;5.3+<ref>[https://github.com/DrBenton/CommonJSForPHP DrBenton/CommonJSForPHP - GitHub]</ref>
* [[카우치DB]]<ref>[http://wiki.commonjs.org/wiki/Implementations/CouchDB Implementations/CouchDB - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* Flusspferd<ref>{{웹 인용 |url=https://flusspferd.github.com/ |제목=Flusspferd - CommonJS platform {{!}} Javascript bindings for C<!-- Bot generated title --> |확인날짜=2019-04-19 |archive-date=2013-01-28 |archive-url=https://web.archive.org/web/20130128180944/http://flusspferd.github.com/ }}</ref>
* GPSEE<ref>[http://wiki.commonjs.org/wiki/Implementations/GPSEE Implementations/GPSEE - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* [[Jetpack]]
* Joyent Smart Platform<ref>[http://wiki.commonjs.org/wiki/Implementations/Smart Implementations/Smart - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* JSBuild<ref>[http://jsbuild.kodfabrik.com Homepage - JSBuild<!-- Bot generated title -->] {{webarchive|url=https://web.archive.org/web/20110104112332/http://jsbuild.kodfabrik.com/ |date=2011-01-04 }}</ref>
* [[몽고DB]]<ref>[http://www.mongodb.org/ MongoDB<!-- Bot generated title -->]</ref>
* Narwhal (JavaScript platform)<ref>[http://wiki.commonjs.org/wiki/Implementations/Narwhal Implementations/Narwhal - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* [[Node.js]]<ref>[http://wiki.commonjs.org/wiki/Implementations/node.js Implementations/node.js - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* Persevere<ref>[http://wiki.commonjs.org/wiki/Implementations/Persevere Implementations/Persevere - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* PINF JavaScript Loader<ref>[https://github.com/pinf/loader-js pinf/loader-js - GitHub<!-- Bot generated title -->]</ref>
* RingoJS<ref>[http://wiki.commonjs.org/wiki/Implementations/RingoJS Implementations/RingoJS - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* SilkJS<ref>{{웹 인용 |url=http://silkjs.net/ |제목=SilkJS WWW Site |확인날짜=2019-04-19 |보존url=https://web.archive.org/web/20170912134815/http://silkjs.net/ |보존날짜=2017-09-12 |url-status=dead }}</ref>
* [[SproutCore]]<ref>[http://wiki.commonjs.org/wiki/Implementations/SproutCore Implementations/SproutCore - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* TeaJS<ref>[http://wiki.commonjs.org/wiki/Implementations/TeaJS Implementations/TeaJS - CommonJS Spec Wiki<!-- Bot generated title -->]</ref>
* [[Wakanda]]<ref>{{웹 인용 |url=http://wakanda.org/ |제목=Wakanda |확인날짜=2019-04-19 |archive-date=2012-06-04 |archive-url=https://web.archive.org/web/20120604013146/http://www.wakanda.org/ |url-status= }}</ref>
* [[XULJet]]<ref>[http://code.google.com/p/xuljet/ xuljet - XUL JavaScript Enhanced Toolkit - Google Project Hosting<!-- Bot generated title -->]</ref>
}}

== 같이 보기 ==
* [[문서 객체 모델]](DOM): 자바스크립트에서 흔히 볼 수 있는 [[웹 브라우저]] [[클라이언트 사이드]] [[API]]
* [[JSGI]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{웹 인용|url= https://arstechnica.com/web/news/2009/12/commonjs-effort-sets-javascript-on-path-for-world-domination.ars |title= CommonJS effort sets JavaScript on path for world domination |publisher= [[아르스 테크니카]] |date= Dec 2009 |display-authors= 0 |first= Kris |last= Kowal }}

{{ECMA스크립트}}
{{Node.js}}

[[분류:자바스크립트]]