Skip to content
Fabian Morón Zirfas edited this page Jun 13, 2025 · 4 revisions

###includes
To include files you need to save these to scripts with the mentioned names at the same location or it wont work.
The first file called includeme.jsx

// includeme.jsx
/**
 *  This file does not get executed
 *  it only works together with
 *  includehere.jsx and has to be next to it
 */

// store data in this file to keep your code tidy
// call data from the other file
var data = {
	pw: 100,
	ph: 100,
	anchors: [
		[0, 50],
		[10, 60],
		[20, 40],
		[30, 60],
		[40, 40],
		[50, 60],
		[60, 40],
		[70, 60],
		[80, 40],
		[90, 60],
		[100, 50],
	],
};

Now the second file called includehere.jsx

    /**
     *  includehere.jsx
     *  You have to define a path
     *  The file called includeme.jsx has to be next to
     *  This file
     */
    #include "includeme.jsx"

    // the variable data is in the included file
    alert ("This is the included data:\n" + data.toSource());

Extendscript allows to use the // @ instead of # for including files. Which is better if you use linters and other build tools.

Instead of

#include "./relative/path/to/file.jsx"
#include "/absolute/path/to/file.jsx"

It would be

// @include "./relative/path/to/file.jsx"
// @include "/absolute/path/to/file.jsx"

The same thing, only with $.evalFile:

//$.fileName full path to the script file that is currently executed
var scriptPath = new File($.fileName).path;
$.evalFile(scriptPath + "/includeme.jsx");

// the variable data is in the included file
alert("This is the included data:\n" + data.toSource());

Home

Clone this wiki locally