extendscriptafter-effectsjsx

After Effects / ExtendScript: Using libraries and importing .jsx files?


I am new to After Effects scripting but have much experience with JavaScript in the browser.

  1. How do I import .jsx files?
  2. Can I use js libraries such as underscore.js etc?
  3. What are some good resources for AE scripting? (Ideally infographics projects)

Solution

    1. To include a .jsx next to your script

    use:

    #include "includeme.jsx"
    

    EDIT 2:

    You can also include files using the following syntax:

    //@include "includeme.jsx"
    

    Which (IMHO) is the better way. It wont break a linter and is more javascript-ish.

    1. You can use plain old javascript (ES3 Syntax). If the libraries you include use some browser specific js (like console.log()) you will get an error

    2. Best resource is the After Effects scripting guide. There are also lots of open source scripts on http://aescripts.com that you can examine

    EDIT 1: You can also include a file like this.

    var path = ((File($.fileName)).path); // this is the path of the script
    // now build a path to another js file
    // e.g. json lib https://github.com/douglascrockford/JSON-js
    var libfile = File(path +'/_libs/json2.js');
    if(libfile.exists){
      $.evalFile(libfile);
    }
    

    Edit 3: Old link to AE scripting docs was broken. Updated the link