### Simple Application Structure The standard application structure would be something like the following: index.html: ```html ``` app/app.js: ```javascript // relative require for within the package require('./local-dep'); // -> /app/local-dep.js // library resource var $ = require('jquery'); // -> /lib/jquery.js // format detected automatically console.log('loaded CommonJS'); ``` Module format detection happens in the order System.register, ES6, AMD, then CommonJS and falls back to global modules. Named defines are also supported, with the return value for a module containing named defines being its last named define. #### File access from files > _Note that when running locally, ensure you are running from a local server or a browser with local XHR requests enabled. If not you will get an error message._ > _For Chrome on Mac, you can run it with: `/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files &> /dev/null &`_ > _In Firefox this requires navigating to `about:config`, entering `security.fileuri.strict_origin_policy` in the filter box and toggling the option to false._ ### Loading ES6 app/es6-file.js: ```javascript export class q { constructor() { this.es6 = 'yay'; } } ``` ```html ``` ES6 modules define named exports, provided as getters on a special immutable `Module` object. To build for production, see the [production workflows](production-workflows.md). [For further details about SystemJS module format support, see the wiki page](module-format-support.md). For further infomation on ES6 module loading, see the [ES6 Module Loader polyfill documentation](https://github.com/ModuleLoader/es6-module-loader).