javascript - 如果是 Web,则从一个库导出,如果是 React Native 中的本地库,则从另一个库导出
问题描述
所以我正在尝试使用胜利图表(https://formidable.com/open-source/victory)并且不希望只使用网络视图,因为它们有一个本机实现。
但是,我正在尝试将库与 React Native Web 一起使用,但它根本不起作用,我收到以下错误:
/Users/myname/Desktop/Projects/myproject/Frontend/Expo/node_modules/victory-native/lib/components/victory-axis.js 10:22
Module parse failed: Unexpected token (10:22)
You may need an appropriate loader to handle this file type.
|
| export default class extends VictoryAxis {
> static defaultProps = Object.assign({}, VictoryAxis.defaultProps, {
| axisComponent: <LineSegment/>,
| axisLabelComponent: <VictoryLabel/>,
我的猜测是我需要使用两个“包装”文件,Victory.js 和 Victory.web.js 进行导入。
到目前为止,这是我的 Victory.web.js 文件:
Victory = require('victory');
export default Victory;
这不起作用。
我也试过:
import { VictoryPie } from 'victory';
export VictoryPie;
这给了我错误:
/Users/myname/Desktop/Projects/myproject/Frontend/Expo/src/components/utility/Victory.web.js
SyntaxError: /Users/myname/Desktop/Projects/myproject/Frontend/Expo/src/components/utility/Victory.web.js: Unexpected token (3:17)
1 | import { VictoryPie } from 'victory';
2 |
> 3 | export VictoryPie;
我只想能够在 React Native 和 React Native Web 上使用这个库而不会引发错误。有什么办法吗?
解决方案
不确定这是否是最好的方法,但这种方法对我有用:
export const VictoryPie = require('victory').VictoryPie;
推荐阅读
- node.js - IBM watson 助手 Nodejs 中未授权的问题
- android - 您可以创建自定义视图吗?
- reactjs - 无法从 spring-boot 响应中获取 json 数据
- python - 比较 2 个 Json 文件并显示第二个文件的差异
- azure - 在 Azure 数据块中创建外部表
- elasticsearch - 如果 Elasticsearch 管道的条件与确切的字符串不匹配,则字符串比较
- excel - Vlookup 函数上的运行时错误“1004”应用程序定义或对象定义错误
- c# - iMobileDevice-Net event trigger when photo added or deleted
- java - Ask for length of a file read from Classpath in java
- node.js - MERN stack authentication and authorization