テスト
a
テスト
a
commonJSとESの整理
commonJSとは
- Server Side JSの為に策定された仕様
- 現在は活発では無い
Server Side JavaScriptの独自実装が乱立するようになった。 これを憂いたとあるエンジニアが、2009年1月末に自分の意見をブログで公開して議論の場となるメーリングリストを設けた。 これがCommonJSの始まりである。 CommonJSでは、
・モジュール機構がない ・標準ライブラリがない ・ウェブサーバーやデータベースとの標準的なインターフェースがない ・パッケージのマネジメントシステムがない
といった、ブラウザ以外でJavaScriptを利用する際に問題となる領域の解決を目指した。 node.jsはもともとCommonJSに準拠していたが、徐々に独自路線を進み、 現在では、Module 1.0とUnit Testing 1.0のみ準拠している。
moduleの使用例
// math.js exports.add = function(a, b){ return a + b; }
// draw.js module.exports = function(){ return 'draw'; }
// say.js module.exports.hello = function(){ console.log("hello"); } module.exports.goodbye = function(){ console.log("goodbye"); }
var math = require('./math'); var draw = require('./draw'); var say = require('./say'); console.log(math.add(1, 3)); // 4 console.log(draw()); // 'draw' say.hello(); // 'hello' say.goodbye(); // 'goodbye'
EcmaScriptとは
- javascriptの言語仕様
- node.jsはESの各バージョンの一部を準拠している(nodeのversionによってどのESを実装しているかは異なる)
参考文献
[https://scrapbox.io/tasuwo/JavaScript%E3%81%AE_Module_System%E3%81%AE%E6%AD%B4%E5%8F%B2:title]
# CommonJS と ES6の import/export で迷うなら - Qiita
TypeScriptの`--esModuleInterop`は一体何をやっているのか - stone's throw
esModuleInterop オプションの必要性について - Qiita