什么时候使用 requirejs 什么时候使用 browserify?

What to use requirejs and when to use browserify?

我读了很多关于 requirejs 和 browserify 的文章。如果有人要我定义它,我会在 2 行中说。

AMD -> Client Side -> Implementaion : RequireJS -> asynchronous -> uese define keyword

CommonJs -> Server Side -> Implementaion : Browserify -> synchronous -> uses export keyword

我想了解的是:-

  1. 即使是服务器端为什么要在客户端使用browserify?
  2. 你什么时候更喜欢一个?

Webpack和Browserify并没有直接替换requirejs,而是替换了require自带的the r.js optimizer。现代捆绑器 运行 您的代码(以及可选的样式表、模板和其他资源)通过各种过滤器,创建一个包含整个应用程序的文件。

RequireJS 的异步模块 (AMD) 已被更常用的 CommonJS 和 ES6 模块定义所取代。这部分是因为节点模块可以很好地与 webpack 和 browserify 配合使用,但也因为当您只有一个捆绑文件时,AMD 的优势基本上不再适用。由于所有模块同时可用,因此您不需要管理异步加载的开销。

Webpack 和 Browserify 还扩展了 rjs 的功能集,添加了对将模板、图像、字体和其他资源编译到您的包中的广泛支持。他们可以 运行 转译器(如 Babel 或 Typescript)、丑化器、缩小器,以及沿途的各种其他工具。 Webpack 还支持输出多个包并按需加载它们,同时对开发人员隐藏大部分部署细节。