在Cordova中加载需求模块
我是新来的JavaScript尝试了cordova,这大量使用模块require()。 我在这里经历了一些教程。 我尝试了一个来自本教程的非常简单的例子,它似乎缺less一些东西。
这是我的html代码。
<script> var abc = require("js/greeting.js"); function mod() { try{ var g = abc.sayHelloInEnglish(); console.log("reached the call"); document.getElementById("modl").innerHTML = g; } catch(err){ console.log("error is" + err.message); } } </script> <button onclick="mod()">click</button>
这是我的greeting.js的代码
//var exports = module.exports = {}; exports.sayHelloInEnglish = function() { return "HELLO"; }; exports.sayHelloInSpanish = function() { return "Hola"; };
当我点击button点击,它给出了一个错误,abc没有定义。 有什么我在这里丢失使用模块? 非常感谢。
其实module.require
不适用于浏览器。 你不能像使用script
-tag一样使用它。 require
是为node.js(服务器端JavaScript)。
如果你想在浏览器中使用它,你应该使用预处理。 例如,你可以使用browserify 。
要了解更多 – 伟大的3分钟videoCommonJS模块
您不能在浏览器中本地使用require
/ module.exports
。 它构build在Node.js / io.js中,可以在服务器上运行。
如果您想在浏览器中使用require()
/ CommonJS模块,请查看RequireJS 。
如果您想在浏览器中运行Node / io.js代码(包括但不限于require()
/ CommonJS),请查看Browserify或webpack 。
既然你说你正在使用cordova,我的猜测是你根本不需要require()
。 只需像通常一样编写HTML / CSS / JavaScript,然后使用cordova将其打包。 cordova使用require()
很多,但不应该影响你的应用程序的代码。