Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将solace封装到javascript库中_Javascript_Solace - Fatal编程技术网

将solace封装到javascript库中

将solace封装到javascript库中,javascript,solace,Javascript,Solace,我正在用javascript为我的公司编写一个通信层,它将使用solace发送和接收消息。要做到这一点,我需要封装Solace,因此用户所要做的就是添加对我们新库的引用,并开始使用它,而不知道Solace的任何内容或引用它 话虽如此,我需要做的第一件事是在我自己的图书馆中添加对Solace的引用,这就是问题所在。javascript的Solace示例非常清楚如何直接在网站上使用,它们引用了标签中的lib,但显然我不能这样做。 这就是我所尝试的: var solace = require("../

我正在用javascript为我的公司编写一个通信层,它将使用solace发送和接收消息。要做到这一点,我需要封装Solace,因此用户所要做的就是添加对我们新库的引用,并开始使用它,而不知道Solace的任何内容或引用它

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

var solace = require("../../Solace/solclient-debug.js");
然后稍后(直接来自

但我得到一个错误,说安慰是未定义的。
有人知道怎么做吗?这可能是一个愚蠢的问题,但我的javascript背景非常有限,我来自.Net,使用客户端javascript,基本上有三种选择。您可以:1)为要包含的每个js文件(库)添加脚本标记, 2) 将所有需要的库连接到一个文件中,然后包含该标记,或 3) 加载一个向页面动态添加脚本标记的文件,以加载其他库

从技术上讲,您也可以使用Ajax并运行eval(),但这通常是不受欢迎的

现在最常用的可能是#2,但通过运行webpack、grunt、gulp等工具来实现这一点是典型的,因为它允许您以更标准的方式构建

您可能对Webpack特别感兴趣,因为它允许您以一种通过require或import语句显式定义依赖项的方式编写js文件,并且它沿着依赖项链跟踪这些语句,并确保所有内容都按顺序连接


但是没有,没有一种本地方法可以只使用一个脚本标记并像您所要求的那样需要库

这不是用nodejs标记的,所以我们可以假设您正在使用类似RequireJS或Babel的东西来为您解析require语句并构建缩小的包吗?事实上,这不是针对nodejs的。这是纯javascript,我想在我的页面中加载一行。我认为要使用requireJs,还需要在标记中添加引用?库必须有一种方法向另一个库添加依赖项,对吗?方法1)应该足够了:从dev.solace.com/downloads/(solclientjs-10.X.X.zip)下载的归档文件包含lib/solclient-debug.js。您可以将其与其他静态资产一起复制,只需在HTML中使用脚本标记。当大小和性能很重要时,可以用solclientjs.js替换它。如果您刚开始使用Javascript,我现在就不使用WebPack。正如@szocske提到的,您要求做的事情非常简单,带有一个脚本标记。实现这一点的方法见Solace示例。一旦你了解了浏览器中的JavaScript基础知识,再看看Babel和WebPack等的模块加载和传输。如果你从这里开始,你就有可能让它变得过于复杂。
var factoryProps = new solace.SolclientFactoryProperties();