在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()很多,但不应该影响你的应用程序的代码。