【问题标题】:How to Import nodes modules in react native如何在本机反应中导入节点模块
【发布时间】:2018-08-02 02:28:04
【问题描述】:

希望你一切顺利。

我是 react native 的新手,在尝试导入节点模块时遇到了问题。

我需要创建一个应用程序,该应用程序将使用 WooCommerce 从 Wordpress 网站的 API 获取订单。

我首先使用命令create-react-native-app picking 然后npm install 创建了一个项目。它在名为picking 的项目文件夹中创建了这样的结构:

node_modules
App.js
app.json
App.test.js
etc....

然后我用npm install woocommerce-api --save (https://www.npmjs.com/package/woocommerce-api) 安装了包woocommerce-api。这个包让我可以更轻松地向 WooCommerce API 发出请求。

我不想将配置放到App.js 中的 WooCommerce API,所以我创建了一个文件夹 src 和一个文件夹 woocommerce,其中包含一个文件 api.js(我应该用大写的第一个字母写它吗?)它和我在我的 App.js 中添加了import Api from 'picking/src/woocommerce/api';

所以现在的结构是

node_modules
src
  -- woocommerce
    -- api.js
App.js
app.json
App.test.js
etc....

问题是我无法从woocommerce-api导入WooCommerceAPI模块,无论我在路径中设置什么来获取模块。

目前有文件api.js

import WooCommerceAPI from '../../woocommerce-api';

var Api = new WooCommerceAPI({
    url: 'http://localhost/mysite',
    consumerKey: 'ck_xxxxxxxxxxxxxxxxxxxxxxxxxx',
    consumerSecret: 'cs_xxxxxxxxxxxxxxxxxxxxxxxxxxx',
    wp_api: true,
    version: '/wc/v2',
    queryStringAuth: true
});

export default Api;

我得到了错误:

Unable to resolve module '../../woocommerce-api' from etc ...

我找不到问题所在以及为什么这不起作用。如果你能在这方面帮助我,那就太好了。

祝大家有个愉快的一天:)

编辑:我将导入的行更改为import WooCommerceAPI from 'woocommerce-api';,我得到一个新错误:Metro Bundler has encountered an internal error, please check your terminal error output for more details,但终端中除了Failed building JavaScript bundle之外什么都没有。

EDIT2:我将节点从 9.4 降级到 8.0.0 并重新启动项目。我得到了同样的错误,但在终端我现在得到黄色/橙色:Problem checking node_modules dependencies: Unexpected end of JSON input

【问题讨论】:

  • 导入依赖项时,通常使用由工具链解析的非相对导入。即import WooCommerceAPI from "woocommerce-api";
  • 我试过了,但是我在 Expo 中遇到了另一个错误:Metro Bundler has encoutered an internal error, please check your terminal error output for more details。但是我的终端里什么都没有……
  • 嗯,这是正确的方法。这个新错误显然不是你所问的
  • 我不认为这是正确的方法,因为这会造成我无法理解的巨大错误,而我询问的错误至少说它找不到模块...
  • 这与您声明的导入依赖项的目标相反。怎么会有人回答这样的问题。

标签: node.js reactjs react-native import


【解决方案1】:

好的,所以我找到了解决方法。事实上,导入是有效的。由于某种我不知道的原因,这是 npm 包不工作并导致应用程序崩溃。

所以我删除了包woocommerce-api并在src/woocommerce中创建了一个名为woocommerce-api.js的文件,然后我复制了这个与npm包中相同的https://github.com/minhcasi/react-native-woocommerce/blob/master/WooCommerceAPI.js的内容并粘贴了它在我的woocommerce-api.js。我将它导入我的api.jsfile 和“voilà”!

似乎工作正常。

【讨论】:

    【解决方案2】:

    当您在项目中安装woocommerce-api 时,无需像../../woocommerce-api 这样放置位置。

    只需将../../woocommerce-api 更改为woocommerce-api,您的项目就可以运行了。

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 2018-07-04
      • 2018-08-02
      • 1970-01-01
      • 2018-12-28
      • 2023-02-20
      • 2019-12-15
      • 1970-01-01
      • 2019-05-21
      相关资源
      最近更新 更多