嗨,我正试图了解这种隐写术工具https://github.com/petereigenschink/steganography.js。
我在我的react项目中使用了它。关于 RequireJS 的内容已经让我感到困惑。我可以将其转换为普通的,不太可怕的javascript吗?
;(function (name, context, factory) {
// Supports UMD. AMD, CommonJS/Node.js and browser context
if (typeof module !== "undefined" && module.exports) {
module.exports = factory();
} else if (typeof define === "function" && define.amd) {
define(factory);
} else {
context[name] = factory();
}
})("steg", this, function () {}
我需要能够使用此功能或我的App.js文件中的任何功能。有指针吗?
这是React开发服务器抛出的错误: 编译失败。
./src/steganography.js
Line 12: 'define' is not defined no-undef
Line 13: 'define' is not defined no-undef
答案 0 :(得分:0)
由于javascript最初不包含任何处理模块的方法(即,将多个文件中的代码链接在一起),因此发明了几种不同的处理方法。该代码块只是试图使其与所有代码兼容,因此无论用户使用哪种模块方法,代码库都能正常工作。
外部是Immediately Invoked Function Expression。这是一个匿名函数,将被创建然后立即调用。在此代码中,其主要目的是隔离表达式内的所有变量,从而使它们不可能意外成为全局变量。
在IIFE内部,它进行了一些检查来确定正在使用哪种模块系统,以便可以产生要导入的正确输出。