Javascript React本机异步存储模块导致spread operator…require出现错误(';React';)
导入AsyncStorage模块(用于redux存储)时,出现以下错误:Javascript React本机异步存储模块导致spread operator…require出现错误(';React';),javascript,reactjs,react-native,babeljs,redux,Javascript,Reactjs,React Native,Babeljs,Redux,导入AsyncStorage模块(用于redux存储)时,出现以下错误: ERROR in ./~/react-native/Libraries/react-native/react-native.js Module parse failed: ~/node_modules/react-native/Libraries/react-native/react-native.js Line 112: Unexpected token ... You may need an appropriate l
ERROR in ./~/react-native/Libraries/react-native/react-native.js
Module parse failed: ~/node_modules/react-native/Libraries/react-native/react-native.js Line 112: Unexpected token ...
You may need an appropriate loader to handle this file type.
| // Note: this must be placed last to prevent eager
| // evaluation of the getter-wrapped submodules above
| ...require('React'),
| };
My.babelrc扩展了react-native版本:
"extends": "react-native/packager/react-packager/.babelrc"
我已尝试重新安装本机库,但没有帮助
我正在使用这个github初学者工具包
已经检查过类似本期建议的网页配置,并且它是相同的编辑:已经有一段时间了。今天我强烈建议不要使用这个。只需运行react原生打包程序。如果你想的话,使用一个.alrc。这段晦涩难懂的代码毫无道理,我怀疑它是否仍然有效
这些是拼图的实际部分: (查看链接了解更多信息) webpack.config.js
var reactNativeExternalsPromise = (function () {
var reactNativeRoot = path.dirname(require.resolve('react-native/package'));
var blacklist = require('react-native/packager/blacklist');
var ReactPackager = require('react-native/packager/react-packager');
const rnEntryPoint = require.resolve('react-native');
return ReactPackager.getDependencies({
assetRoots: [__dirname],
blacklistRE: blacklist(false),
projectRoots: [__dirname],
transformModulePath: require.resolve('react-native/packager/transformer'),
}, {
entryFile: rnEntryPoint,
dev: true,
platform: 'ios',
})
.then(function (dependencies) {
return dependencies.filter(function (dependency) {
return !dependency.isPolyfill;
});
})
.then(function (dependencies) {
return dependencies.map(function (dependency) {
return dependency.id;
});
});
}());
及
externals: [
function (context, request, cb) {
reactNativeExternalsPromise.then(function (reactNativeExternals) {
if (['react-native'].concat(reactNativeExternals).indexOf(request) != -1) {
cb(null, request);
} else{
cb();
}
});
}
],