2010-11-25 3 views
9

Время от времени я слышу, что CommonJS http://www.commonjs.org/ - это попытка создать набор модульных компонентов javascript, но, честно говоря, я никогда ничего не понял.Где модули CommonJS?

Где эти модульные компоненты я могу использовать? Я не вижу много на их главной странице.

ответ

16

CommonJS - это стандарт, который определяет способ модуляции JavaScript, поэтому сам CommonJS не предоставляет никаких библиотек JavaScript.

CommonJS указывает функцию require(), которая позволяет импортировать модули, а затем использовать их, модули имеют специальную глобальную переменную с именем exports, которая является объектом, который содержит объекты, которые будут экспортированы.

// foo.js ---------------- Example Foo module 
function Foo() { 
    this.bla = function() { 
     console.log('Hello World'); 
    } 
} 

exports.foo = Foo; 

// myawesomeprogram.js ---------------------- 
var foo = require('./foo'); // './' will require the module relative 
          // in this case foo.js is in the same directory as this .js file 
var test = new foo.Foo(); 
test.bla(); // logs 'Hello World' 

Стандартная библиотека Node.js и все 3-библиотеки сторонних производителей используют CommonJS модуляризировать свой код. более

Один пример:

// require the http module from the standard library 
var http = require('http'); // no './' will look up the require paths to find the module 
var express = require('express'); // require the express.js framework (needs to be installed) 
+0

Так CommonJS просто указывает требуют()? Это оно? Это звучит «больше», чем когда вы читаете об этом :) – ajsie 2010-11-25 23:22:36

1

Идея, кажется (я не знал об этом), является предоставление JavaScript для более, чем просто веб-браузеров. Например, CouchDB поддерживает javascript для запросов.

0

CommonJS НЕ МОДУЛЬ - это просто спецификация, которая определяет, как два модуля JavaScript должны взаимодействовать друг с другом. Эта спецификация использует переменную экспорта и требует функции для определения того, как модули будут выставлять и потреблять друг друга.

Для реализации спецификации CommonJS у нас есть много открытых систем JS с открытым исходным кодом, которые следуют спецификации CommonJS. Некоторыми примерами JS-погрузчиков являются systemJS, Webpack, RequireJS и т. Д. Ниже приведено простое видео, которое объясняет CommonJS, а также демонстрирует, как systemJS реализует общую спецификацию js.

Common JS видео: - https://www.youtube.com/watch?v=jN4IM5tp1SE

Смежные вопросы