输入完成后我得到了正确的信用卡信息我在使用时调用了一个函数来验证带有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;`
未捕获的ReferenceError:未定义require
我很抱歉如果这是一个简单的问题,但因为我找不到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模块。但我还没找到。 我需要帮助。
答案 0 :(得分:5)
require
在浏览器中不可用。它在Node.js中使用。
如果您想在客户端使用require
,请使用Browserify:
Browserify允许您通过捆绑所有依赖项来在浏览器中要求(“模块”)。
事实上,require
无法在表单中的浏览器中使用,因为它在Node中实现。 require
的问题在于它是同步的。当你可以阻止I / O时它在事件循环的第一个刻度上在服务器端工作,因为还没有绑定事件监听器,但它在浏览器中不会没有问题,因为它必须阻止用户界面的UI整个模块下载,编译和运行的时间。
事实上,同步和异步模块加载一直存在争议。有关更多详细信息,请参阅这些答案: