python - 使用 django-mediagenerator 时不需要 Require.js

标签 python django requirejs bundling-and-minification django-mediagenerator

我想学习 Require.js,并且正在考虑在现有的 Django 项目中实现它。但是,我已经在使用 Assets 管理器 django-mediagenerator用于在我的项目中捆绑 JavaScript 文件和 CSS 文件。

由于我不完全确定 Require 的作用(我知道它会异步加载脚本,但仅此而已),我想知道在已经使用 django-mediagenerator 的项目中实现它是否完全无用。

有什么想法吗?

最佳答案

总结:这不是一个另一个:RequireJS 和 django-mediagenerator 解决在某些方面重叠的不同问题。

RequireJS 的设计主要是为了模块化你的 JavaScript 代码,这样当你设计你的项目时,你可以使用分而治之的方法,而不是将所有内容收集到一个文件中,或者花时间寻找晦涩的错误,因为碰巧两个位于不同文件中的不相关代码片段决定将其状态记录在名为 state 的全局变量中。 (几个小时的乐趣!)

django-mediagenerator 解决了将文件收集在一起以有效地提供服务的问题。这是一个不同的问题。

现在,模块化项目有助于设计,但会损害生产性能。因此,RequireJS 包含一个优化器,它可以收集您的模块,并根据您的指示生成一个或多个优化包。此操作的某些部分与 django-mediagenerator 的操作重叠,但我在 django-mediagenerator 的网站上没有看到任何迹象表明它可以理解设计用于 RequireJS 的模块之间的依赖关系。另一方面,RequireJS 优化器了解这些依赖关系,并且需要了解它们才能完成其工作,因此您不能直接消除它。我的意思是,您并不是被迫使用它,但如果您不这样做,您就必须想出一些东西来复制 RequireJS 优化器中的一些智能。

在某些领域(例如 CSS 优化)这两种工具都可以完成工作。如果您在同一个项目中使用两者,则必须决定如何划分职责。

关于python - 使用 django-mediagenerator 时不需要 Require.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636505/

相关文章:

Xcode 中的 Python 语法高亮

python - 对词典列表进行排序和分组

python - OpenGL - 一些相交和一些非相交多边形的曲面分割

python - 相互依赖的模块

django - 在 ModelAdmin 中添加代码片段

javascript - 使用 require.js 在 chrome 扩展中调试内容脚本时遇到问题

javascript - 使用 r.js 编译时为 "ReferenceError: window is not defined"

python - PiCamera 将图像存储在 RGBArray 中

Django 表单错误消息键

javascript - 使用 RequireJS 的优势?