Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 1.22 KB

import-export.mdx

File metadata and controls

38 lines (25 loc) · 1.22 KB
title description canonical
Import & Export
Importing / exporting in ReScript modules
/docs/manual/latest/import-export

Import & Export

Import a Module/File

Unlike JavaScript, ReScript doesn't have or need import statements:

<CodeTab labels={["ReScript", "JS Output"]}>

// Inside School.res
let studentMessage = Student.message
var Student = require("./Student.res.js");
var studentMessage = Student.message

The above code refers to the message binding in the file Student.res. Every ReScript file is also a module, so accessing another file's content is the same as accessing another module's content!

A ReScript project's file names need to be unique.

Export Stuff

By default, every file's type declaration, binding and module is exported, aka publicly usable by another file. This also means those values, once compiled into JS, are immediately usable by your JS code.

To only export a few selected things, use a .resi interface file.

Work with JavaScript Import & Export

To see how to import JS modules and export stuff for JS consumption, see the JavaScript Interop section's Import from/Export to JS.