RequireJS,jquery 仍未定义

2023-11-30

我知道这已经被讨论过,但是经过一段时间的搜索后,我无法弄清楚为什么我的小设置不能使用 requireJS 正确加载 jquery。

我正在从“file://”运行一个小型示例 html 页面,并尝试通过调用 require 来加载 2 个模块:

  • jquery
  • 我写的自定义模块

如果我的自定义模块正确加载(我可以在 require 调用中使用它及其别名,jquery 始终未定义)

我尝试在 require.config 以及 shim (导出“$”或“jQuery”)中设置路径,但它不起作用。

我能让 jquery 正确加载的唯一方法是删除所有路径定义并在我的文件系统“jquery.js”上命名 jquery 文件

这是我的配置:

main.js:

require.config({
    baseUrl: 'scripts',
    paths: {
        jquery: 'jquery-2.1.3.min' //does not work
        //jquery: 'http://code.jquery.com/jquery-2.1.3.min.js' //does not work either
    }
});

console.log( "main.js is loaded" );  //this is correctly ouputed to the console

测试.html:

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <!--
       ... page content ...
    -->

    <!-- main.js is loaded from data-main -->
    <script data-main="scripts/main" src="scripts/require.js"></script>
    <script type='text/javascript'>
      require(
          ['jquery','custom'],
          function($, Custom){
            console.info('$:');
            console.info($); //outputs undefined

            console.info('Custom:');
            console.info(Custom); //outputs my custom object        

          });
    </script>  
  </body>
</html>

再一次,如果我删除 jquery 的所有路径定义,并简单地将我的 jquery js 文件命名为“jquery.js”,它就可以工作,但这很草率。

有人可以指出我正确的道路吗?


问题是您加载了 RequireJS 配置,该配置位于main, 通过data-main. The data-main属性只是告诉 RequireJS 加载那里列出的模块,但加载仍然是异步, so main可能会加载afterRequireJS 尝试加载 jQuery。发生这种情况时,RequireJS 无法找到 jQuery,并且$未定义。 (顺便说一句,我建议设置enforceDefine to true在您的 RequireJS 配置中,以便您在模块尚未加载时收到一条错误消息。这是比未定义符号更好的线索。)

一种解决方案是将您的配置移出main。所以你把它从main并将其添加到script加载 RequireJS 的前面的元素:

<script>
// RequireJS will use the value of `require` as its configuration.
require = {
    baseUrl: 'scripts',
    paths: {
        jquery: 'jquery-2.1.3.min'
    },
    enforceDefine: true
};
</script>
<script src="scripts/require.js"></script>

或者你可以筑巢require呼吁强制main在任何其他模块之前加载:

require(['main'], function () {
    require(['jquery','custom'], ...
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RequireJS,jquery 仍未定义 的相关文章

  • 如何使用 JavaScript 压缩文件?

    有没有办法使用 JavaScript 来压缩文件 例如 在雅虎邮件中 当您选择下载电子邮件中的所有附件时 它会被压缩并下载到单个 zip 文件中 JavaScript 能够做到这一点吗 如果是这样 请提供一个编码示例 我发现这个图书馆叫js
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • 半流体布局 CSS/Html

    我有一个两列布局 其中右列的静态宽度为 350px 左列的宽度应填充页面的其余部分 或者至少这是我想要发生的事情 但不幸的是事实并非如此 看一下我的 css html http jsfiddle net CmJ7P http jsfiddl
  • linkedin js 如何是有效的 javascript

    LinkedIn Javascript 集成是通过以下方式完成的 我不明白 这怎么是一个有效的javascript 为什么 api key 没有被引用 脚本标签的主体带有src永远不会被执行 但是 加载的脚本可以像访问任何其他元素的内容一样
  • es6-module 默认导出导入为未定义

    我不确定我在这里缺少什么 我正在使用 jspm 和 es6 module loader 开发一个项目 我有一个模块定义如下 import hooks from hooks import api from api import tools f
  • 检索受“rowspan”影响的行的列索引的最有效方法是什么?

    考虑下表 table thead tr th th th A th th B th th C th tr thead tbody tr th 1 th td Apples td td Oranges td td Pears td tr tb
  • jPlayer 无法在 Firefox 中播放 mp3

    我正在集成 jplayer 来播放由使用 jQuery 的单击事件触发的精选 mp3 文件 用于实现此目的的代码是 play link click function jquery jplayer 1 jPlayer destroy srcF
  • 为什么 WebView 中的 dataWithPDFInsideRect 不能在 Mavericks 上创建高质量的 PDF?

    Run 示例项目 https github com tvarghese TestWebView并观察桌面上生成的输出 PDF 名为保存网页 pdf 粘贴感兴趣的代码片段 NSURL url NSBundle mainBundle URLFo
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • 如何让导航栏在向下滚动页面时改变颜色?

    我希望导航栏是透明的 但是当您向下滚动页面时 它会变为红色 div class nav div class container div class logo a href img src RepublicSquare logo svg st
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 使用外部按钮选择下一个/上一个单选按钮

    我正在制作一种幻灯片形式 当用户单击下一张图像时 还必须选择单选按钮 我的滑动功能可以正常工作 下一个按钮 也可以工作 但我有点坚持使用 上一个 按钮 不明白为什么它不起作用 fiddle http jsfiddle net V4tdx 这
  • 如何从代码隐藏中向我的 div 添加点击事件?

    如何从代码隐藏中向我的 div 添加点击事件 当我点击 div 时 会出现一个消息框 其中显示 您想删除它吗 并在框中显示 是 或 否 全部来自后面的代码 while reader Read System Web UI HtmlContro
  • 单击 html 中的按钮后如何从 javascript 函数写入文件

    我正在尝试编写真正基本的代码 在 html 文件上按下按钮后 通过 JavaScript 函数在本地写入 txt 文件 这不可能吗 我可以仅使用 javascript 文件写入文件 但在尝试同时使用两者时则不能
  • 使用 jQuery 的 ajax 方法以 blob 形式检索图像

    我最近问了另一个 相关 问题 这导致了这个后续问题 提交数据而不是输入表单的文件 https stackoverflow com questions 17643142 submitting data instead of a file fo
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • javascript 加壳器与压缩器

    我想知道加壳器与压缩器的区别 优点是什么 即您应该在网络应用程序中部署压缩版本还是压缩版本 示例代码 var layout NAVVISIBLE 1 Init function this Resize Dimensions function
  • chrome css 动画上的抖动

    尝试使用两个具有相同背景图像 svg 的居中 div 制作一个从中心淡入图像的 css 动画 并为其宽度和背景位置设置动画 问题是 在 chrome 上 存在严重的抖动问题 也许是 chrome 循环执行动画步骤 而不是同时执行它们 这是j
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre
  • gjs 如何使用 g_data_input_stream_read_line_async 在 Gnome Shell 扩展中读取套接字流

    我正在尝试编写一个 Gnome Shell 扩展 通过 Socket 服务器与 Arduino 进行通信 服务器和 Arduino 运行良好 但我陷入了监听传入服务器消息的扩展代码 因为我需要一种非阻塞方法 所以使用异步读取行 https

随机推荐

  • 内存映射文件 java NIO

    我了解如何创建内存映射文件 但我的问题是在下面一行中说 FileChannel roChannel new RandomAccessFile file r getChannel ByteBuffer roBuf roChannel map
  • include_next 预处理器指令导致 MSVC 中出现问题

    我知道 inlcude next 恰好是 C 预处理器的 GNU 扩展 我在使用 MSVC 编译 Gnu 库代码时遇到问题 例如 有一个 stdio h 头文件或者更确切地说GNU like
  • Java / NetBeans - 如何进入 jar 文件?

    我在 Netbeans 中有一个 Java 项目 其属性的库部分列出了几个 jar 文件 我在其中一个 jar 文件中发现了一个错误 我想在调试时介入它 这是我到目前为止所做的 我已经找到了源代码 jar 文件 我将该源代码作为一个项目打开
  • 本地运行SAM时如何连接RDS实例?

    我正在使用 SAM 无服务器应用程序模型 在本地测试连接到云中的 Aurora RDS 实例的 Lambda 函数 使用以下命令 sam local invoke lambda function name event event json
  • 如何使用webp图片并支持safari

    由于压缩效果更好 我尝试在整个网站中使用 webp 图像 不过我知道 safari 不支持 webp 图像是使用加载的background image url img img webp 然后我应用其他background特性 我明白了
  • 在c中使用逗号运算符

    我读过逗号运算符用于分配表达式 并将正确的表达式提供给左值 但是为什么这个程序在不使用括号的情况下将左表达式分配给左值呢 我正在使用 Turbo C 编译器 int b 2 int a a b 2 b 5 prints 10 as expe
  • lua代码反混淆

    我最近下载了一些 lua 代码 我发现里面有一些混淆的字符串 这让我想知道那里使用了什么样的混淆技术 有人有想法吗 local code 27 76 117 97 81 0 1 4 4 4 8 0 64 0 0 0 64 67 58 92
  • Swift macOS 弹出窗口检测更改暗模式

    从图像中可以看出 我有一个弹出窗口 我必须确保当屏幕模式发生变化 深色模式或浅色模式 时 弹出窗口的颜色会发生变化 颜色取自资源 如下所示 NSColor named backgroundTheme withAlphaComponent 1
  • 在 Project Reactor 中处理数据的最佳方法

    在项目反应器中处理数据的最佳方法是什么 使用平面地图 public Mono
  • 旋转 MKMapView 的内容

    我需要根据罗盘值旋转mapView的内容 float myHeadingValue newHeading trueHeading 为了旋转地图 我使用这个 mapView setTransform CGAffineTransformMake
  • 删除任务栏上的 Google Chrome 固定图标

    我想删除任务栏上的 Google Chrome 固定图标 卸载不会删除图标 我修改了代码以仅删除 Google Chrome lnk 我想要做的 了解 VBS 是循环遍历所有用户文件夹 而不仅仅是当前用户 我认为当前用户定义为strCurr
  • 使用其他类的类字段

    我对 C 和 OOP 还很陌生 所以请耐心等待 我有两个具有不同命名空间的类 namespace Class1 public class class1 public double x public double y namespace Cl
  • Scala 泛型:如何声明类型必须是案例类?

    我有几个案例类count场地 默认情况下为 1 我在代码中进行了归约 对重复项进行分组并对值求和以查找每个对象的数量 例如 case class Person name String count 1 personList groupBy n
  • 为什么 objdump 显示该汇编语言指令的操作码为空?

    我有以下汇编代码 global start section text start add byte eax al 编译和链接后 我尝试查看操作码 objdump d eax o eax o file format elf32 i386 Di
  • PYTHON:有类似ast.literal_eval()的函数吗?

    我在使用 ast literal eval 时遇到问题 在下面的示例中 我只想将字符串 myText 转换为字典 但 ast literal eval 尝试评估 lt main myClass instance at 0x000000005
  • 无法使用 pymssql 将 Unicode 发送到 SQL Server

    我在通过 pymssql 将 unicode 发送到 SQL Server 时遇到问题 In 1 import pymssql conn pymssql connect host hostname user me password pass
  • 使用 PHP Composer 开发本地包,然后在部署时复制它

    我有一个本地 PHP 项目 一个网站 我想使用我制作的另一个项目 一个小型 Web 框架 作为该网站项目的 Composer 包 我正在同时开发它们 但希望将它们保留为单独的项目 当我部署网站时 我想使用 Composer 将框架项目作为包
  • 如何获取 Android 4.0+ 的外部 SD 卡路径?

    三星Galaxy S3有一个外部 SD 卡插槽 可安装到 mnt extSdCard 我怎样才能通过类似的方式获得这条路径Environment getExternalStorageDirectory 这将返回mnt sdcard 并且我找
  • 线性布局顺序在某些设备上是相反的

    我有一个LinearLayout在某些设备上 所有视图都是相反的 好版本 b1 b2 b3 在某些设备上 b3 b2 b1 为什么会发生这种情况以及如何解决它 如果您的目标是 API 级别 gt 17 即 Android 4 2 并进行测试
  • RequireJS,jquery 仍未定义

    我知道这已经被讨论过 但是经过一段时间的搜索后 我无法弄清楚为什么我的小设置不能使用 requireJS 正确加载 jquery 我正在从 file 运行一个小型示例 html 页面 并尝试通过调用 require 来加载 2 个模块 jq