require-cs

0.5.4 • Public • Published

require-cs

A CoffeeScript loader plugin that may work with module loaders like RequireJS, curl and backdraft.

It has been adapted to work as an npm package. It is known to work with RequireJS 1.0+.

This loader plugin makes it easy to write your JS functionality in CoffeeScript, and easily use it in the browser, Node or Rhino. Plus, if you use the RequireJS optimizer, your CoffeeScript files can be translated to JavaScript, and inlined into optimized layers for fast performance.

In development, it uses XMLHttpRequest to fetch the .coffee files, so you can only fetch files that are on the same domain as the HTML page, and most browsers place restrictions on using XMLHttpRequest from local file URLs, so use a web server to serve your .coffee files.

Install

npm

To install with npm:

  npm install require-cs

Usage <a name="usage".

Reference CoffeeScript files via the cs! plugin name. For example, to load the app.coffee file that is in your baseUrl directory:

require(['cs!app'], function (app) {

});

Or, if creating a module that depends on util.coffee:

define(['cs!util'], function (util) {
    util.doSomething();
});

If you are using define() in a module written with CoffeeScript:

define ['cs!util'], (util) ->
    util.doSomething

Literate CoffeeScript was introduced in CoffeeScript 1.5.0. To utilize this feature with this plugin you will need to have downloaded >= 1.5.0 of CoffeeScript and qualify the file (with extension) of the literate module you wish to use.

A dependency on the literate module app.litcoffee:

require ['cs!app.litcoffee'], (litapp) ->
  litapp.foo()
  # ...

Or a dependency on the literate module util.coffee.md:

define ['cs!util.coffee.md'], (litutil) ->
  litutil.doSomething()
  # ...

Note: This plugin supports a mixture of literate and regular CoffeeScript files in the same project.

VERY IMPORTANT: Only define anonymous modules using CoffeeScript. Otherwise, the optimization work will not happen correctly -- the name of the module is changed to allow inlining of the translated JS content.

License

Available via the MIT or new BSD license.

Package Sidebar

Install

npm i require-cs

Weekly Downloads

4

Version

0.5.4

License

MIT

Last publish

Collaborators

  • lesmo