gpt4 book ai didi

browserify - 为 Browserify 定义全局变量

转载 作者:行者123 更新时间:2023-12-03 08:17:02 29 4
gpt4 key购买 nike

我正在使用 SpineJS(它导出一个 commonjs 模块),它需要在全局范围内可用,因为我在任何地方都使用它,但似乎我必须这样做 Spine = require('spine')在每个使用 Spine 工作的文件上。

有什么方法可以定义Spine一次使其全局可用?

PS:我以 Spine 为例,但我一般想知道如何使用任何其他库来做到这一点。

最佳答案

首先,对于您的示例,大卫是正确的。在您需要它的每个模块中包含所有依赖项。它非常冗长,但没有编译时魔法可以缓解各种反模式和潜在的 future 问题。
真正的答案。
这并不总是实用的。 Browserify 接受一个名为 insertGlobalVars 的选项。 .在构建时,会扫描每个流文件以查找与提供的键名匹配的标识符,并将模块包装在 IIFE 中,其中包含解析模块中未分配的每个标识符的参数。这一切都发生在依赖关系树最终确定之前,这允许您使用 require 来解决依赖关系。
TLDR
使用insertGlobalVars Browserify 中的选项。

browserify({
insertGlobalVars: {
spine: function(file, dir) {
return 'require("spine")';
}
}
});
对于每个扫描的文件,如果标识符 spine存在未分配的,解析为 require("spine") .

关于browserify - 为 Browserify 定义全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23480336/

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