- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这几天我一直在探索 requirejs(用于异步加载模块和依赖项的 JavaScript 模块加载器)。
我所了解的是,您需要将所有 JavaScript 库或插件(如 Jquery 等)加载到 require.config 中,以便将它们用作您创建的任何自定义模块或您使用的任何其他插件的依赖项直接依赖于 jquery 或任何其他库。
我不确定和怀疑的是它是否可以在已经构建的应用程序中使用,我只希望使用 requirejs 和其他应用程序 javascript 定义/使用我的几个依赖于 Jquery 的插件或库 continue在其行形式中使用 jquery。
也就是说:我使用脚本标签而不是通过 require.config 包含 jquery,但希望使用依赖于 Jquery 的 require js 来包含其他插件/JavaScript。
简而言之,我想要在我已经构建的服务器端应用程序中使用 requirejs 的一种混合实现,它不是完全客户端应用程序。
我们将不胜感激代码片段或操作方法。
最佳答案
是的,这是可能的,前提是您要谨慎行事。
加载 RequireJS 加载的代码所依赖的 JavaScript 代码的所有 script
元素都应该出现在任何启动 RequireJS 模块加载的代码之前。这是确保在 RequireJS 开始加载模块时您需要的东西可用的唯一方法。
然后您可以选择使用 RequireJS 加载模块,只需假设使用 script
加载的内容已使其在全局范围内可用,并在不将其添加到您的依赖项的情况下使用它。例如,如果一个模块需要 jQuery 并且它已经加载了一个 script
元素,那么该模块将假定 $
已经定义:
define(function () {
$("p").append(...);
});
对于已经列出依赖于您碰巧使用 script
元素加载的代码的第 3 方代码,或者如果您希望在您编写的代码中明确依赖,则必须使用“胶水”模块”。 (这是我更喜欢我自己的代码的选项。)上面的相同模块将正式需要 jQuery:
define(["jquery"], function ($) {
$("p").append(...);
});
并且您必须有一个用于jquery
的“胶水模块”。我通常将此类模块放在我的 require.config
调用之前,而不是 将它们放在单独的文件中。它会是这样的:
define('jquery', function () {
return $;
});
请注意,此处调用 define
的第一个参数是一个字符串(而不是数组),它告诉 RequireJS 该模块名为 jquery
。您通常不应该像这样硬编码名称,但对于胶水模块,这很好。胶水模块假设 $
已定义并且是 jQuery。任何需要 jQuery 的模块都依赖于这个模块。如果在稍后阶段将 jQuery 作为 RequireJS 模块加载,则可以删除胶水模块,并且不需要修改任何依赖于 jQuery 的模块。
关于javascript - Require Js - 在 "Not fully client side application"中寻求 requirejs 的混合实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069308/
我想选择 仅第一个表中的元素,而不是第二个表中的元素。是否有任何 CSS 选择器可以这样做? 澄清一下:我只想选择 里面按照表格,只有当 em 完全包含在 p 中时。即:如果只包含 . 顺便说一下,
如何让我的固定宽度网站在 webkit(iphone 和 android)浏览器上始终显示为“完全放大”? 现在,它在 iPhone 上看起来不错,但在分辨率更高的 Android 手机上“太小/缩小
我正在使用的代码片段:: br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Ge
我有一个 A 形框架组件,它在某个时候创建一个“基础”实体,上面挂着一堆子元素(基本上是带有彩色面的盒子)。完成所有这些子元素(包括网格)后,我想使用 geometry-merger 合并它们的几
我需要一些帮助来完全理解运行这段代码时发生了什么 public class Main extends Thread { private static int x; public sta
我正在阅读HttpCore documentation并遇到了这条线。 public static void consume(HttpEntity entity) throws IOException
在我的 Django 环境“完全加载”后,我需要执行一些相当简单的任务。 更具体地说,我需要做一些事情,比如 Signal.disconnect() 默认情况下由我的第三方库设置的一些 Django
git 的一个好处是“每个人都可以拥有完整的备份”作为 DVCS 相对于 SVN。不太懂。 例如,John 有一个 git 仓库和他的分支 branch_a,Peter 有另一个 git 仓库和 br
以下内容对我来说毫无意义 % git clone $REPO_URL --branch dev wd % cd wd % git fetch origin master:master From git
我有一个现有的 Angular 应用程序,它在 Angular 4 时开始开发,现在它在 Angular 12 上。但是在开发时,strict mode 没有启用。现在,在应用程序稳定并部署到生产环境
我想知道为什么我需要包含 (:gen-class) 来访问从其他 ns 导入的函数而不完全限定它们。 例子: (ns project.core (:gen-class)) (defn foo []
(还有几个关于超时和 maxSpoutPending 的问题) 我在 Storm 文档中看到很多关于消息被完全处理的引用。但是我的 KafkaSpout 如何知道消息何时被完全处理? 希望它知道我的
我正在使用 Gremlin-Python 客户端通过 janusgraph 后端查询 Gremlin 服务器。 运行以下查询: graph = Graph() g = graph.traversal(
我正在尝试使用 reqwest 库获取一个网站。 问题是某些网站将在几毫秒或大约一秒内完全呈现。 (就像html渲染后加载表格元素一样) let client = reqwest::Client::b
如果hashCode()计算使用不可变字段并且equals()使用所有字段,那么会是这样吗?当类用作哈希键时有问题吗?例如 import java.util.Objects; public class
我认为这只是一个一般的 C++ 问题: 我正在尝试使用 gnu c++ 编译器在 Linux Fedora 上编译本地版本的 ffmpeg。我的源代码位于以下一堆文件夹中: ~//Downloads/
我收到了这则消息 Fully shadowed APK PROBLEM This APK will not be served to any users because it is completel
我的文档通常包含这种形式的“完全受限”框架: \begin{frame} Lorem ipsum dolor. \end{frame} 由于第一行末尾的 ,像这样的帧 没有出现在我用 pdfl
我正在 SBCL 中尝试这个来翻转列表中的点对: (mapcar (lambda (x) (let ((num (random 2))) (if (
有没有办法对 以但可能不完全包含给定字符串的数据字段进行 MySQL 查询? 例如,如果我有以下数据项列表: my_table 1. example.com 2. example.com/subpag
我是一名优秀的程序员,十分优秀!