http://www.commonjs.org/javascript
CommonJS
JavaScript is a powerful object oriented language with some of the fastest dynamic language interpreters around. The official JavaScript specification defines APIs for some objects that are useful for building browser-based applications. However, the spec does not define a standard library that is useful for building a broader range of applications.html
The CommonJS API will fill that gap by defining APIs that handle many common application needs, ultimately providing a standard library as rich as those of Python, Ruby and Java. The intention is that an application developer will be able to write an application using the CommonJS APIs and then run that application across different JavaScript interpreters and host environments. With CommonJS-compliant systems, you can use JavaScript to write:java
- Server-side JavaScript applications
- Command line tools
- Desktop GUI-based applications
- Hybrid applications (Titanium, Adobe AIR)
使用知足commonjs API书写的程序, 能够运行在不一样的解析器和宿主环境中。 使用符合commonjs的系统, 你可使用js写:git
一、 服务器段程序github
二、 命令行程序浏览器
三、 桌面GUI程序服务器
四、 混合程序app
http://arstechnica.com/business/2009/12/commonjs-effort-sets-javascript-on-path-for-world-domination/dom
CommonJS is a growing collection of standards, includingide
- Modules
- Binary strings and buffers
- Charset encodings
- Binary, buffered, and textual input and output (io) streams
- System process arguments, environment, and streams
- File system interface
- Socket streams
- Unit test assertions, running, and reporting
- Web server gateway interface, JSGI
- Local and remote packages and package management
So far, CommonJS has converged on specifications for modules (1.1), a system module (1.0), and a unit testing API (1.0).
模块规范:
http://wiki.commonjs.org/wiki/Modules/1.1.1
- math.js
exports.add = function() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; };
- increment.js
var add = require('math').add; exports.increment = function(val) { return add(val, 1); };
- program.js
var inc = require('increment').increment; var a = 1; inc(a); // 2 module.id == "program";
http://www.ruanyifeng.com/blog/2015/05/commonjs-in-browser.html
https://github.com/efacilitation/commonjs-require
browser-side CommonJS require() function.
<html> <head> <script src="commonjs-require.js"></script> <script> require.register("module", function(exports, require, module){ /* Some Module content */ module.exports = "content" }) console.log(require('module')) </script> <style> </style> </head> <body> <h1>hello world!</h1> </body> </html>
LOG: