summaryrefslogtreecommitdiff
path: root/thirdparty/systemjs/docs/es6-modules-overview.md
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/systemjs/docs/es6-modules-overview.md')
-rw-r--r--thirdparty/systemjs/docs/es6-modules-overview.md108
1 files changed, 0 insertions, 108 deletions
diff --git a/thirdparty/systemjs/docs/es6-modules-overview.md b/thirdparty/systemjs/docs/es6-modules-overview.md
deleted file mode 100644
index 82f127548..000000000
--- a/thirdparty/systemjs/docs/es6-modules-overview.md
+++ /dev/null
@@ -1,108 +0,0 @@
-## Background
-
-### Modules and Module Loaders
-
-A module is simply a JavaScript file written with module syntax. Modules _export_ values, which can then be _imported_ by other modules.
-
-[CommonJS](http://wiki.commonjs.org/wiki/CommonJS) and [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) JavaScript files are modules.
-
-A module loader provides the ability to dynamically load modules, and also keeps track of all loaded modules in a module registry.
-
-Typically, in production, the module registry would be populated by an initial compiled bundle of modules. Later in the page state, it may become necessary to dynamically
-load a new module. This module can then share dependencies with the initial page bundle without having to reload any dependencies.
-
-Module code is treated differently to scripts due to the nature of exports and imports.
-This is why the `<script type="module">` tag is introduced to distinguish script code from module code.
-
-### Module Naming
-
-Normalization rules allow module names to be converted into URLs.
-
-This allows module aliases like `import $ from 'jquery'` to be equivalent to writing `import $ from 'https://code.jquery.com/jquery.js'`
-
-Normalization rules are specific to the module loader implementation, with some certain standard conventions set down by the browser loader specification.
-
-## ES6 Module Syntax
-
-### Exporting
-
-ES6 module syntax is most similar to the `exports.method = function() {}` pattern in NodeJS of creating multiple named exports.
-
-In CommonJS one might write:
-
-```javascript
- exports.someMethod = function() {
-
- };
-
- exports.another = {};
-```
-
-In ES6, this same code would be written:
-
-exporter.js:
-```javascript
- export function someMethod() {
-
- }
-
- export var another = {};
-```
-
-Notice that the name of the function, class or variable gets used as the export name.
-
-### Importing
-
-When importing, we import any exports we need by name, and can also choose to rename them:
-
-importer.js:
-```javascript
- import { someMethod, another as newName } from './exporter';
-
- someMethod();
- typeof newName == 'object';
-```
-
-### Default Import and Export
-
-Sometimes one doesn't want to write an import name at all. For this we can use the default export:
-
-export-default.js:
-```javascript
- export default function foo() {
- console.log('foo');
- }
-```
-
-import-default.js:
-```javascript
- import customName from './export-default';
-
- customName(); // -> 'foo'
-```
-
-### All Supported Syntax
-
-There are a few other variations of module syntax, the full list of supported statements is listed below.
-
-```javascript
-import 'jquery'; // import a module without any import bindings
-import $ from 'jquery'; // import the default export of a module
-import { $ } from 'jquery'; // import a named export of a module
-import { $ as jQuery } from 'jquery'; // import a named export to a different name
-
-export var x = 42; // export a named variable
-export function foo() {}; // export a named function
-
-export default 42; // export the default export
-export default function foo() {}; // export the default export as a function
-
-export { encrypt }; // export an existing variable
-export { decrypt as dec }; // export a variable as a new name
-export { encrypt as en } from 'crypto'; // export an export from another module
-export * from 'crypto'; // export all exports from another module
- // (except the default export)
-import * as crypto from 'crypto'; // import an entire module instance object
-```
-
-Note that any valid declaration can be exported. In ES6, this includes `class` (as in the example above), `const`, and `let`. \ No newline at end of file