【发布时间】: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