【问题标题】:error TS2304: Cannot find name 'require'. MercadoPago错误 TS2304:找不到名称“需要”。梅尔卡多帕戈
【发布时间】:2020-11-14 20:03:50
【问题描述】:

大家好,我有以下问题,在编译项目时我收到一条错误消息: src / app / cart / cart.component.ts (63.25) 中的错误:错误 TS2304: 找不到名称 'require'。 我已经尝试实现 npm install --save @ types / node 还要检查 tsconfig.app.json 配置,但错误仍然存​​在。我该如何解决? 我正在用 Angular 开发一切。 感谢您的帮助

 const mercadopago = require('mercadopago');
    mercadopago.configure({
      access_token: 'Your key'
    });
    let preference = {
      items: [
        {
          title: 'Mi producto',
          unit_price: 100,
          quantity: 1,
        }
      ]
    };
    mercadopago.preferences.create(preference)
      .then(function (response) {
        this.global.init_point = response.init_point;
      }).catch(function (error) {
        console.log(error);
      });
  }

【问题讨论】:

  • mercadopago 是一个 Node.js API。因此,您需要创建一个 Node.js 应用程序并在我们的后端实现中使用它。你在我们的 Angular 应用程序中使用的接缝。

标签: node.js angular typescript mercadopago mercadopagosdk


【解决方案1】:

我认为是require。从 Angular 8 开始不支持使用 require。您必须使用 es 导入。

import * as mercadopago from 'mercadopago'

这是一方面。

在我看来mercadopago 是一个服务器端库。如果它在内部依赖于 nodeJS,它可能无法工作。此外,您捆绑access_token 的事实是另一个表明有问题的迹象。

【讨论】:

  • 碰巧这段代码来自MercadoPago页面,当我尝试实现它时就是这样,导入它的库和所有东西,但如果它直接是NodeJs,我会这样做或者使用另一种语言非常感谢您抽出宝贵时间回复!
猜你喜欢
  • 2015-09-19
  • 2016-12-18
  • 2019-05-06
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多