Javascript 从节点中的外部.js文件调用构造函数
我实际上有一个html文件,它加载了几个js文件:Javascript 从节点中的外部.js文件调用构造函数,javascript,node.js,Javascript,Node.js,我实际上有一个html文件,它加载了几个js文件: <script type="text/javascript" src="jop.js"></script> <script type="text/javascript" src="script.js"></script> script.js文件内容(原始行): 我试图使用'require'调用script.js中的构造函数“PROPModule(PROP);”,但这些方法都不起作用。这样: sc
<script type="text/javascript" src="jop.js"></script>
<script type="text/javascript" src="script.js"></script>
script.js文件内容(原始行):
我试图使用'require'调用script.js中的构造函数“PROPModule(PROP);”,但这些方法都不起作用。这样:
script.js(在node.js行中修改):
我对js和node非常陌生,我已经搜索了好几天没有成功的解决方案
请问您对如何调用此构造函数有何建议或想法?.js文件在浏览器和nodejs中的读取方式不同。 因此,您的.js(为浏览器编码)很可能不会在nodejs环境中读取,反之亦然 为了使我的js文件与两者兼容,我使用以下脚本包装了我的js代码:
/** jop.js */
; (function (window, factory) {
if (typeof exports === 'object') {
module.exports = factory(); // NodeJs Environment
} else {
window.jop = factory(); // Browser Environment
}
}(this, function () {
return (function (window) {
"use string";
let PROPModule = function (Module) {
console.log('PROPModule is called');
}
// exposed functions
return { myFunc };
}(this));
}));
这是在NodeJS环境中导入它的方式:
script.js
const jopjs = require('./jop')
这是在浏览器环境(内部或外部)中导入的方式:
log('window.jop=factory();:'中的“jop”字,jop.PROPModule());
您是否在jop.js中导出PROPModule函数?我这样做了,但最初它不是这样工作的:module.exports=PROPModule代码>我刚刚尝试了另一种导出函数的方法module.exports.PROPModule=PROPModule代码>现在它可以工作了。
var jopjs = require('./jop.js');
var PROP = {};
PROP['preRun'] = prerun;
PROP['onRuntimeInitialized'] = main;
PROP['TOTAL_MEMORY'] = 64*1024*1024;
jopjs.PROPModule(PROP);
ReferenceError: jopjs is not defined
/** jop.js */
; (function (window, factory) {
if (typeof exports === 'object') {
module.exports = factory(); // NodeJs Environment
} else {
window.jop = factory(); // Browser Environment
}
}(this, function () {
return (function (window) {
"use string";
let PROPModule = function (Module) {
console.log('PROPModule is called');
}
// exposed functions
return { myFunc };
}(this));
}));
script.js
const jopjs = require('./jop')
<script type="text/javascript" src="./app/lokidb-seed.js"></script>
<script>
console.log('The "jop" word in window.jop = factory();: ', jop.PROPModule());
</script>