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!