javascript - 这 requireJS 的事情让我很困惑
问题描述
嗨,我想了解这个隐写工具https://github.com/petereigenschink/steganography.js。
我在我的反应项目中使用它。关于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 文件中的任何内容。请问有什么指点吗?
这是反应开发服务器抛出的错误:编译失败。
./src/steganography.js
Line 12: 'define' is not defined no-undef
Line 13: 'define' is not defined no-undef
解决方案
由于 javascript 最初并没有包含任何执行模块的方式(即,将来自多个文件的代码链接在一起),因此已经发明了几种不同的方法来实现这一点。该代码块只是试图符合所有这些,因此无论消费者使用哪种模块方法,代码库都可以正常工作。
外部是一个立即调用的函数表达式。这是一个匿名函数,它被创建然后立即调用。在这段代码中,它的主要目的是隔离表达式中的任何变量,从而使它们不可能意外成为全局变量。
在 IIFE 内部,它有一些检查以确定正在使用哪种模块系统,以便它可以生成要导入的正确输出。
推荐阅读
- java - 使用通配符的依赖项管理中的排除项
- reactjs - React Native 的最佳录音库建议
- spring - Eureka 客户端:com.netflix.discovery.shared.transport.TransportException:无法在任何已知服务器上执行请求
- angular - 使用 Angular 中的参数模拟激活的路由
- c++ - C++ 对象切片如何在内部工作?
- html - Angular ngForm中的Http POST请求错误
- python - 如何在 python 瓶中运行计时器功能?
- c# - ASP.Net MVC 项目的间歇性登录问题
- excel - VBA 未正确为单元格/范围赋值
- python-3.x - 模块“hmac”没有属性“新”