将安慰封装到 javascript 库中

encapsulate solace into a javascript library

我正在为我的公司在 javascript 中编写一个通信层,它将使用安慰来发送和接收消息。为此,我需要封装 Solace,因此所有用户只需添加对我们新库的引用,然后开始使用它,甚至无需了解或引用 Solace 的任何信息。

也就是说,我需要做的第一件事是在我自己的库中添加对 Solace 的引用,这就是问题所在。 javascript 的 Solace 示例非常清楚如何直接在网站上使用,它们在标签中引用了 lib,但显然我不能这样做。 这是我尝试过的:

var solace = require("../../Solace/solclient-debug.js");

然后稍后(直接来自 sample

var factoryProps = new solace.SolclientFactoryProperties();

但我收到一条错误消息,提示安慰未定义。 任何人都知道该怎么做?这可能是个愚蠢的问题,但我在 javascript 方面的背景确实有限,我来自 .Net

对于客户端 JavaScript,您基本上有三种选择。您可以:1)为每个要包含的js文件(库)添加一个脚本标签, 2)将你想要的所有库连接到一个文件中,然后包含那个标签,或者 3)加载一个文件,动态添加脚本标签到页面以加载其他库。

从技术上讲,您还可以通过 Ajax 和 运行 eval(),但通常不赞成这样做。

这些天最常用的可能是#2,但通常是通过 运行 像 webpack、g运行t、gulp 等工具来实现的因为它允许您以更标准化的方式构建。

Webpack 可能对您特别感兴趣,因为它允许您以一种通过 require 或 import 语句显式定义依赖项的方式编写 js 文件,并且它遵循依赖链并确保一切都是正确的按顺序串联起来。

但是不,没有像您所要求的那样只使用一个脚本标签并需要库的本地方法。