D3 有大量的源代码,但是当他们发布时,他们只发布一个长的 JavaScript 文件。他们如何将所有源代码放入该 JavaScript 文件中?有没有标准的方法来做到这一点?
3 回答
d3 是开源的,因此您可以确切地看到它是如何完成的。
在这种情况下,他们使用Makefile使用粉碎节点包来连接文件。似乎是自定义解决方案(鉴于此模块的作者是 d3 的主要开发人员)
其他人使用不同的技术。我更喜欢编写小脚本并将它们简单地连接在一起
您可以使用许多工具来压缩和混淆 Javascript 代码。最好的工具之一是 Google 的Closure Compiler。使用此类工具,您的代码通常会遵守某些约定,以便正确编译并且不会引入新的错误。Closure 提供了 Linter 工具来检查您的语法并建议更改。Closure 编译器是一个命令行工具,因此您可以连接您的文件并将它们传送到编译器进行压缩,如下所述:使用 Google Closure Compiler Application 在一个文件中压缩所有文件 .js
其他工具也可用,例如Require.JS,它提供了一个 JS 优化器,可以压缩您的代码,并提供许多其他功能,如异步加载。
正在成为执行此操作的标准方法是使用 Grunt 和 Grunt concat 插件。
Grunt:http : //gruntjs.com/ Grunt concat 插件:https ://github.com/gruntjs/grunt-contrib-concat
注意:D3 使用的是 Makefile,可能是历史性的,但在我看来 Grunt 是一个更简单的选择。