Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
simple webservice for wrapping the web's javascript files in require calls
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
README.markdown
example.html
package.json
unlicense
wrapit.js

README.markdown

Webservice to wrap any web resource in a header and footer. Good for wrapping javascript files in require calls.

Getting started

npm install wrapit

Command-line usage

 wrapit [options]

This starts a wrapit web service using the specified command-line options.

-p port to listen on (example, 85)
-q suppress the help message

Web service usage

http://localhost/?url=http://codemirror.net/lib/codemirror.js&header=provide('CodeMirror',function(require,exports,module){&footer=exports.CodeMirror=CodeMirror;})&type=text/javascript&type=text/javascript

There are four parts to this, ?url &header &footer &type. Let's break that up:

http://localhost/
**?url=**http://codemirror.net/lib/codemirror.js
**&header=**provide('CodeMirror',function(require,exports,module){
**&footer=**exports.CodeMirror=CodeMirror;})
**&type=**text/javascript

In this case, the url is http://codemirror.net/lib/codemirror.js, which gets wrapped in a 'provide' definition (taken from require-shim). Type signifies the mime type.

Of course, you can use whatever require library you want. Also, you don't have to just wrap javascript files -- you can wrap css or html or anything else for that matter. wrapit doesn't care.

Server-side usage

require('http').createServer(function (req, res) {
    require('wrapit').handleRequest(req, res);
}).listen(port);    

Run the Example

There is an example.html file in the local directory, demonstrating how to run uglify-js in a web page without installing anything (even Node.js) on your local machine.

Why might this be useful?

This utility is designed to help a web developer quickly prototype namespaced javascript code, but there are probably other uses as well.

Something went wrong with that request. Please try again.