[英]Vanilla JS: Get undefined when calling a function in in-line html
[英]Loading Vanilla JS library in NodeJS = undefined is not a function
基于相关问题:将 “ Vanilla” Javascript库加载到Node.js中
我正在尝试将jQuery.soap加载为NodeJS模块。 我已经按照链接问题中的步骤进行操作,但是在调用函数时遇到了一些问题。 Soap插件定义:
return $.soap = soap;
调用该函数。 所以我用以下代码创建了一个index.js:
var fs = require('fs');
// Read and eval library
filedata = fs.readFileSync('./node_modules/jquery.soap/jquerysoap- lib/jquery.soap.js','utf8');
eval(filedata);
exports.Soap = $.soap;
然后以这种方式将其加载到我的nodeJS文件中。
var Soap = require('jquery.soap');
并以这种方式使用它:
Soap({
url: myurl,
appendMethodToURL: false,
SOAPAction: '',
....
)};
我得到一个“未定义的不是函数”。 我可以正确导出吗? 我试图把
exports.Soap = soap;
代替
exports.Soap = $.soap;
但仍然无法正常工作。 一旦我做了readFileSync应该可以调用$ .soap? 提前致谢
编辑:在我的VanillaJS模块中,我有类似的东西:
function($){
function soap (options) {
}
return $.soap = soap;
}
您没有正确导入/导出。 您将“ Soap”导出为模块的成员,但随后将“ Soap”导入为整个模块,而“ Soap”只是其中的一个成员。
您应该去:
exports = $.soap;
要么:
var Soap = require('jquery.soap').Soap;
BTW将其称为(小写)“ soap”。 不要违反约定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.