我开始了一个多平台项目,在react-native和react-js之间共享代码。所以我有一个适用于browser/Electron的webpack设置,和一个适用于Android/iOS的react原生0.57设置。我现在遇到的问题如下:Can't find variable: require
这可能是一个非常直白的问题,但我还需要别的什么吗?我读到,React-native应该支持它自己所需要的,但目前还找不到与此设置相关的任何内容。
.babelrc {"presets": ["module:metro-react-native-babel-preset"]}
我也在浏览器端使用@babel/polyfill和@babel/ but,但我想知道它们是否会干扰。
发布于 2018-09-29 21:21:25
得到了解决方案,我的.babelrc是好的,但是打包程序缓存了第一个错误的代码,所以我不得不这样启动打包程序:react-native start --reset-cache
发布于 2018-09-29 10:10:00
在查看下面的github问题后,该问题看起来是由corejs选项@babel/plugin-transform- the引起的,因此请将其替换为@babel/polyfil
https://github.com/facebook/react-native/issues/21048
ref的.babelrc配置
{
"presets": [
"module:metro-react-native-babel-preset",
],
"plugins": [
"react-require",
[
"module-resolver",
{
"root": [
"./src",
"./assets"
],
"alias": {
"app": "./src",
"assets": "./assets"
}
}
],
[
"babel-plugin-require-context-polyfill",
{
"alias": {
"app": "./src"
}
}
],
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-transform-flow-strip-types",
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
[
"@babel/plugin-proposal-class-properties",
{
"loose": false
}
],
[
"@babel/plugin-transform-runtime",
{
}
],
],
"sourceMaps": true
}安装Babel polyfill 7 "@babel/polyfill":"^7.0.0“
并将其导入到App组件中
import '@babel/polyfill'发布于 2018-11-08 22:44:24
看起来react-native start --reset-cache起作用了。
https://stackoverflow.com/questions/52564252
复制相似问题