Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung des Unterschieds zwischen ES6-Modularität und CommonJS-Modularität

Der Unterschied zwischen ES6-Modularität und CommonJS-Modularität
In aktuellen Projekten, über ES6-Import, -Export und ich bin Ich bin verwirrt über die Verwendung von module.exports und require in CommonJS. Wenn etwas nicht stimmt, geben Sie mir bitte einen Rat. Der Befehl
ES6-Modularität
import wird zur Eingabe der von anderen Modulen bereitgestellten Funktionen verwendet; der Befehl export dient zur Angabe die externe Schnittstelle des Moduls.
1. Import und Export
// 导出 a.js
/** 写法一 **/
var name = 'sheep'
function getSheep() {
name = 'hourse'
}
export {getSheep}
// 引入 b.js
import {getSheep} from './a.js'
/** 写法二 **/
var name = 'sheep'
export function getSheep() {
name = 'hourse'
}
// 引入 b.js
import {getSheep} from './a.js'2. Import und Export standardmäßig
Es kann mehrere Exporte geben, Exportstandard Es gibt nur eine
// 导出 a.js
let obj = {
name: 'hello',
getName: function (){
return this.name
}
export default obj
// 引入 b.js
import obj from './a.js'CommonJS-Modularität
1. require und module.exports
require wird sowohl in ES6 (Bable konvertiert Import in Require) als auch in CommonJS unterstützt. Selbst wenn wir das ES6-Modulsystem verwenden und Babels Konvertierung verwenden, wird das ES6-Modulsystem schließlich in die CommonJS-Spezifikation konvertiert.
Bei Verwendung von require in Babel5 ist der importierte Wert der von module.export zurückgegebene Wert oder der vom Exportstandard zurückgegebene Wert.
- Empfohlenes Tutorial: „
JS Tutorial
“
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Unterschieds zwischen ES6-Modularität und CommonJS-Modularität. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!