这对我来说听起来很愚蠢,但是我对此没有真正的答案。
使用ES6模块或CommonJS(在使用浏览器的浏览器中)有什么意义,如果您可以通过script标记将多个js文件连接到html,以便它们充当模块(共享同一作用域)?
答案 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
之间的主要区别,有一篇更详尽的文章希望这会有所帮助。