Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to include file in coffee script?

I'd like to know if there is a way to include a file in a coffee script. Something like #include in C or require in PHP...

like image 656
Mathieu Mahé Avatar asked Oct 10 '11 20:10

Mathieu Mahé


People also ask

How do you include a file in JavaScript?

To include an external JavaScript file, we can use the script tag with the attribute src . You've already used the src attribute when using images. The value for the src attribute should be the path to your JavaScript file.

Is CoffeeScript still used?

As of today, January 2020, CoffeeScript is completely dead on the market (though the GitHub repository is still kind of alive).

What is a .coffee file?

JavaScript file written in CoffeeScript, a programming language that compiles and transcompiles to JavaScript; saved in a text format and contains code that is similar to JavaScript, but modified to be more readable. CoffeeScript's aim is to enhance JavaScript's brevity and readability.


2 Answers

How about coffeescript-concat?

coffeescript-concat is a utility that preprocesses and concatenates CoffeeScript source files.

It makes it easy to keep your CoffeeScript code in separate units and still run them easily. You can keep your source logically separated without the frustration of putting it all together to run or embed in a web page. Additionally, coffeescript-concat will give you a single sourcefile that will easily compile to a single Javascript file.

like image 59
Jason Reis Avatar answered Sep 28 '22 18:09

Jason Reis


If you use coffeescript with node.js (e.g. when using the commandline tool coffee) then you can use node's require() function exactly as you would for a JS-file.

Say you want to include included-file.coffee in main.coffee:

In included-file.coffee: declare and export objects you want to export

someVar = ...
exports.someVar = someVar

In main.coffee you can then say:

someVar = require('included-file.coffee').someVar

This gives you clean modularization and avoids namespace conflicts when including external code.

like image 18
jerico Avatar answered Sep 28 '22 17:09

jerico