我一直在研究使用类似SVGO这样的库来清理前端用户提交的SVG代码。SVGO是基于node.js的库,通常在后端使用,因此我一直在努力理解如何将SVG代码从前端发送到后端,然后再将清理后的代码呈现在前端。
正是当我尝试弄清楚这一点时,我查看了他们的Web应用程序示例,检查了在其中运行的代码,该代码位于链接脚本内,我通常会在后端上看到这些脚本。特别地,许多函数的签名为(完整脚本):
1: [function(require, module, exports) {
"use strict";
var loadScripts = require("./load-scripts"),
...
module.exports = exportedFunction;
}]
相当混乱,因为我通常将其与后端相关的JS联系在一起,特别是require、module.exports等语法。
问题:
1. 这只是他们整个库SVGO在前端上运行吗?他们是否手动重写了它以使其与前端兼容?还是像browserfy这样的工具可以做到这一点?
2. 如果是这样,前端和后端运行它的好处是什么?哪种方式更容易/是否有一些常见的指南告诉我们应该在哪里使用哪个?
3. 初步看来,直接在浏览器中运行SVGO库并在那里进行转换似乎更容易(因为我不必调用后端)。那么一般的惯例是什么呢?
感谢任何见解。我试图确保按照最合理的方式构建我的项目/符合Web标准。