CommonJS或ES6模块有什么意义?

时间:2019-02-08 17:16:35

标签: javascript

这对我来说听起来很愚蠢,但是我对此没有真正的答案。

使用ES6模块或CommonJS(在使用浏览器的浏览器中)有什么意义,如果您可以通过script标记将多个js文件连接到html,以便它们充当模块(共享同一作用域)?

1 个答案:

答案 0 :(得分:1)

在大小合适的Web应用程序中,您必须考虑到有多个开发人员正在从事该项目,因此,关注点分离是开发可维护应用程序的关键要素之一,这会让下一个假想的情况感到痛苦: / p>

您的Web应用程序中有一个名为library.js的文件。 ES2015模块语法

    export function calculatesquareArea(object) {
        // code that calculates area
    }
    export function calculateVolume(object){
        // code that calculates volume
    }

现在我们通过执行以下操作将此模块导入到我们的代码中:

import { calculatesquareArea } from 'library'
// We log the output of the execution of calculatesquareArea
console.log( calculateSquareArea(object))

您会立即注意到,在我的模块中,我有2个函数,但是我决定只导入一个函数,因为那时我只需要使用那个函数。也许这是一个愚蠢的示例,但是您可以利用CommonJS或ES6模块的模块化特性来实现代码重用。

关于CommonJS和ES2015模块here

之间的主要区别,有一篇更详尽的文章

希望这会有所帮助。