gpt4 book ai didi

javascript - 使用 TypeScript AMD 导入 OSC 库无法正确构建 osc 对象

转载 作者:行者123 更新时间:2023-12-02 15:56:19 24 4
gpt4 key购买 nike

我试图在这里使用 OSC 库的浏览器部分:https://github.com/colinbdclark/osc.js在我的 TypeScript AMD 网站中(使用 RequireJS。)

我打算至少将定义文件编写到我使用它的程度。但是,当我通过 require 导入(缩小或未缩小)osc-browser js 文件时:

        //From the require config
oscbrowser: ["/scripts/lib/osc.js/dist/osc-browser.min"],
...
oscbrowser: {
export: "osc"
},
...
//From the typescript file
declare var osc;

Requirejs 在运行时给我以下 JavaScript 错误:

Uncaught Error: Module name "events" has not been loaded yet for context: _. Use require([])

我已根据下面 Colin 的评论更新到最新的库,并且错误更改为引用 slip 库。

Uncaught Error: Module name "slip" has not been loaded yet for context: _. Use require([])

当我通过 require 配置拉入所有组件时,如下所示:

    EventEmitter: ["/scripts/lib/eventEmitter/EventEmitter"],
slip: ["/scripts/lib/slip.js/dist/slip.min"],
osc: ["/scripts/lib/osc.js/src/osc"],
osctransports: ["/scripts/lib/osc.js/src/osc-transports"],
oscbrowser: ["/scripts/lib/osc.js/src/platforms/osc-browser"],

和 事件发射器:{ 导出:“事件发射器” }, osc运输:{ deps: ["slip", "EventEmitter"] }, osc浏览器:{ 导出:“osc”, deps: ["slip","EventEmitter", "osc", "osctransports"] },

错误返回事件错误:

Uncaught Error: Module name "events" has not been loaded yet for context: _. Use require([])

如果我更改 osc-transports.js 中的行

EventEmitter = EventEmitter || require("events").EventEmitter;

EventEmitter = EventEmitter || require("EventEmitter") || require("events").EventEmitter;

因为我相信前面的 require 只适用于 NPM 版本的 EventEmitter,所以 javascript 错误消失并且库似乎可以工作。

是否有比我更有 RequireJS 经验的人知道为什么我不能只使用该库的 dist/ocs-browser 版本?

最佳答案

我是 osc.js 的创建者。直到最近,osc.js 还不直接支持异步模块加载器。看到你的问题后,我添加了对库的支持 universal module definition样式样板,所以 osc.js version 1.1.3以上内容现在应该可以与 Require.js 一起使用。

关于javascript - 使用 TypeScript AMD 导入 OSC 库无法正确构建 osc 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31528370/

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