当我尝试使用react-native-web库创建与浏览器兼容的react-native应用程序时,如果该应用程序包含用于路由的react-native-router-flux库,则无法工作。
由webpack创建的bundle.js文件出现以下错误:未捕获SyntaxError :意外的token导入。
发布于 2017-02-19 18:41:53
在react-native-web中使用react-native-router-flux时有几个问题。
Babel编译
大多数react-native库都包含未编译的Javascript JS,因此您需要告诉ES6编译此Javascript。exclude: /node_modules/忽略了node_modules中的所有内容,因为您的webpack配置中有这一行: Babel
但是,您不希望删除该行。排除node_modules通常是个好主意,因为还有很多其他的库不需要编译,所以Babel会做很多不必要的工作。
相反,您应该将以下内容添加到您的webpack配置中的加载器数组中:
{
test: /\.js$/,
include: /node_modules\/react-native-/,
loader: 'babel-loader',
query: { cacheDirectory: true }
},这将告诉Babel编译任何以react-native-开头的库。
当我写这个答案的时候,还有许多其他的问题,但是我所有的PR已经合并了,所以在这之后一切都应该可以正常工作了。
https://stackoverflow.com/questions/42248099
复制相似问题