如何--把AMD,CommonJS,es6规范的多个js模块 --合并成一个普通的js文件,用到了哪些技术
发布于 7 年前 作者 Liaozhenting 4487 次浏览 来自 问答

jQuery的githubhttps://github.com/jquery/jquery 里面,src文件夹里面有分成了很多模块,最后打包出来一个普通的js文件jquery.js

github-jquery.PNG

6 回复

@leemove 这些工具我知道,其实jQuery用的grunt

所以呢?你想知道的是技术细节? webpack/gulp/grunt 怎么把多个文件合成一个文件的?

@cctv1005s 不止和并一个文件,还要把AMD,CommonJS,es6任意一种规范的多个js模块合并成一个普通的没有规范的js文件

@Liaozhenting 我对webpack了解比较多,其实也推荐你看一下webpack是如何实现的.webpack将这些文件合并成一个文件靠的是loader们和webpack自带的转换, 这里我简单说一下: 例如es6转到es5靠的就是babel这个工具 然后多个文件封装在一起又能保证之间的作用域不干扰实际上是用的是nodejs的那一套,一个个文件的代码封装成function(dirname…){…} require的话,webpack在编译之后require会替换成__webpack_require,而每一个模块会被编上序号,存放在installedModules这个变量里面.

恩,总之具体的内容其实比较多啦,有时间我也想写一篇blog来讲一下我对这个问题的看法.

@cctv1005s 但是webpack打包出来,有webpack自身的代码。

回到顶部