入口文件
为了方便,这里先解释一下入口文件的概念,这个概念在前端模块化中还是比较重要的,不管是用什么模块化规范,基本都绕不开这个概念。
简单点说,入口文件就是在HTML直接引用的,由浏览器触发执行的JS文件。其它的非入口文件则是由入口文件来直接或间接依赖,由JS互相调用执行。举个简单的例子:
index.html:
<html>
<head>
<script src="main.js"></script>
</head>
<body>
</body>
</html>
main.js
var a = require('./a');
var b = require('./b');
a.doSth();
b.doSth();
这个例子中,main.js
由HTML直接引用,是整个程序逻辑开始的地方,因此是入口文件,而被引用的a
和b
则是由main.js
引入和调用,因此不是入口文件。
一般而言,我们会将一些逻辑提取封装后放到独立的文件中,最后由入口文件引入来调用它们提供的方法完成整个程序逻辑。也就是一般入口文件关注整体流程,而非入口文件关注公共某一部分的实现。