gpt4 book ai didi

javascript - 使用 RequireJS 动态解析路径

转载 作者:行者123 更新时间:2023-11-29 22:10:51 25 4
gpt4 key购买 nike

有没有办法用 RequireJS 动态解析路径?例如,是否可以配置它以便在我这样做时

require(['mymodule'], function(mod){ });

将调用我的某种函数,"mymodule" 作为参数传递,我从中返回的值被 Require 用作 的路径我的模块?


我知道 Require 在路径解析方面有一些很棒的配置约定,我也知道路径可以手动配置。但是现在我正在尝试将 RequireJS 添加到一个没有考虑 Require 的旧项目中,所以我想看看我所有的选择是什么。

最佳答案

实现 loader plugin 可能会为您提供最好的服务.

不确定这对您来说是否有问题,但这意味着您的 require 语法会变成这样:

require(['myplugin!mymodule'], function(mod){ });

您将使用的具体方法是 normalize :

normalize is called to normalize the name used to identify a resource. Some resources could use relative paths, and need to be normalized to the full path. normalize is called with the following arguments:

编辑:我看到有一个 replace plugin列于 plugins wiki这听起来与您正在尝试做的相似。它仅使用 load 方法,所以显然我上面所说的关于 normalize 方法的内容并不是一刀切的规则。

如果路径是真正动态的,这将无济于事,但如果您只需要修改遗留脚本返回模块的方式(例如,采用两个不同的全局变量并将它们放在不同的顶级全局变量下) ,您可能还会考虑在 shim config option 中使用 init Hook

编辑 2:此问题中发布了一些相关的技巧:Configuring RequireJS to load from multiple CDNs

关于javascript - 使用 RequireJS 动态解析路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com