JavaScript export
2020-12-13 03:55
标签:row ssi des graph creat agg without clu type The Exported modules are in Identifier to be exported (so that it can be imported via There are two different types of export, named and default. You can have multiple named exports per module but only one default export. Each type corresponds to one of the above syntax: Named exports: Default exports: Named exports are useful to export several values. During the import, it is mandatory to use the same name of the corresponding object. But a default export can be imported with any name for example: You can also rename named exports to avoid naming conflicts: And aggregate submodules together in a parent module so that they are available to import from that module. In a module Then in the top-level module included in your HTML page, we could have: It is important to note the following: If we want to export a single value or to have a fallback value for your module, you could use a default export: Then, in another script, it is straightforward to import the default export: JavaScript export 标签:row ssi des graph creat agg without clu type 原文地址:https://www.cnblogs.com/chucklu/p/11094537.htmlexport
export
statement is used when creating JavaScript modules to export functions, objects, or primitive values from the module so they can be used by other programs with the import
statement.strict mode
whether you declare them as such or not. The export statement cannot be used in embedded scripts.Syntax
// Exporting individual features
export let name1, name2, …, nameN; // also var, const
export let name1 = …, name2 = …, …, nameN; // also var, const
export function functionName(){...}
export class ClassName {...}
// Export list
export { name1, name2, …, nameN };
// Renaming exports
export { variable1 as name1, variable2 as name2, …, nameN };
// Default exports
export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };
// Aggregating modules
export * from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;
export { default } from …;
nameN
import
in another script).Description
// export features declared earlier
export { myFunction, myVariable };
// export individual features (can export var, let,
// const, function, class)
export let myVariable = Math.sqrt(2);
export myFunction() { ... };
// export feature declared earlier as default
export { myFunction as default };
// export individual features as default
export default myFunction() { ... }
export default class { .. }
// file test.js
let k; export default k = 12;
// some other file
import m from ‘./test‘; // note that we have the freedom to use import m instead of import k, because k was default export
console.log(m); // will log 12
export { myFunction as function1,
myVariable as variable };
// In parentModule.js
export { myFunction, myVariable } from ‘childModule1.js‘;
export { myClass } from ‘childModule2.js‘;
// In top-level module
import { myFunction, myVariable, myClass } from ‘parentModule.js‘
ExamplesSection
Using named exportsSection
module.js
, we could include the following code:// module "my-module.js"
function cube(x) {
return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
var graph = {
options: {
color:‘white‘,
thickness:‘2px‘
},
draw: function() {
console.log(‘From graph draw function‘);
}
}
export { cube, foo, graph };
import { cube, foo, graph } from ‘my-module.js‘;
graph.options = {
color:‘blue‘,
thickness:‘3px‘
};
graph.draw();
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
element of type="module", so that it gets recognised as a module and dealt with appropriately.
file://
URL — you‘ll get CORS errors. You need to run it via an HTTP server.Using the default exportSection
// module "my-module.js"
export default function cube(x) {
return x * x * x;
}
import cube from ‘./my-module.js‘;
console.log(cube(3)); // 27