【问题标题】:how to use require function in js如何在js中使用require函数
【发布时间】:2016-12-24 18:45:15
【问题描述】:

我在输入完成后得到正确的信用卡信息我使用 luhn 模块 (npm install luhn) 调用了一个函数来验证信用卡:

var luhn = require("luhn");
is_valid = luhn.validate(card); // should respond true.
if (!is_valid) {
            console.log("Not a valid credit card");
}
return;`

Uncaught ReferenceError: require is not defined

对不起,如果这是一个简单的问题,但是因为我找不到用于 npm 打包使用的逻辑简短解决方案。 onsubmit 这次我调用了kkTahsil() 函数。

function kkTahsil() {
datalariAl();

var Iyzipay = require('iyzipay');   
var iyzipay = new window.Iyzipay({
    apiKey: 'sandbox-PZ8jicWrEeE1rt1O75FTOegr5lsW3xxx',
    secretKey: 'sandbox-2Q6aaP1FK3HFrXkTsHfftxfiudFMfxxx',
    uri: 'https://sandbox-api.iyzipay.com'
});

var nameOnCard = document.getElementById('name-on-card').value;
var expireMonth = document.getElementById('card-exp-month').value;
var expireYear = document.getElementById('card-exp-year').value;
var cvc= document.getElementById('card-cvv').value;

同样的错误。

所以在 js 中,必须有简单的方法来使用 npm 模块。但我还没有找到。 请问我需要帮助。

【问题讨论】:

  • 您使用的模块系统是什么?如果您使用关键字“require”,那么将不得不实现它(这不是直接的 JavaScript 事物)。你是这里的节点环境还是这个客户端的javascript?
  • 我是 node 和 npm 的新手。所以我在 npm 页面找到了这个 'luhn' 模块。并安装了节点模块目录。使用 npm install 命令。在 web 或 js 中,没有关于模块系统的额外定义。我应该用什么。以及如何?
  • 我想我会从节点一开始,CommonJS 或 RequireJS,我知道它也很流行(它不是原生节点一,但它统一了服务器和客户端之间的模块系统)。不过我要告诉你一件事,如果我对这一切都是全新的,我可能不会尝试做你正在做的事情。我会点击“hello world”教程。
  • 我是客户端js
  • 那你真的走错路了。我建议研究 ES6 模块、RequireJS、SystemJS 或其他一些客户端模块系统。从头开始学习教程,您就会知道为什么上述方法不起作用。

标签: javascript node.js


【解决方案1】:

require 在浏览器中不可用。它在 Node.js 中使用。

如果您想在客户端使用require,请使用Browserify

Browserify 允许您通过捆绑所有依赖项在浏览器中使用 require('modules')。

事实上,require 在浏览器中无法以表单的形式出现,因为它是在 Node.js 中实现的。 require 的问题在于它是同步的。当您可以阻塞 I/O 时,它在事件循环的第一个滴答时在服务器端工作,因为还没有绑定事件侦听器,但它在浏览器中无法正常工作,因为它必须阻止 UI模块下载、编译和运行的整个时间。

事实上,同步与异步模块加载一直存在争议。有关详细信息,请参阅这些答案:

【讨论】:

  • 嗨,谢谢你的帮助,但现在我又来了一点。我在表单标签之间的 html 中使用信用卡表单。我的服务器在火力基地。我有一个 start.js 将数据发送到github.com/iyzico/iyzipay-node 服务器。 start.js 与上面的代码(2.part)相同,没有功能当我用 npm run-script start 启动它时。它的工作(将记录发送到信用卡收费)但我找不到在提交表单后如何运行此代码的方法。希望清楚。如果您能为此提供帮助,我将非常高兴。 :)
  • 您应该为此提出一个单独的问题,并提供相关描述、您测试的内容、代码等。 - 随意开始这个问题(如果您仍然需要帮助),并在其中标记我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
  • 2017-06-04
  • 1970-01-01
  • 2020-05-05
相关资源
最近更新 更多