0

我正在尝试将 react-native-web 与现有的 react-native 应用程序结合起来,我遵循了https://github.com/necolas/react-native-web/blob/master/docs/guides/multi-platform-apps .md指令,

由于模块解析失败,无法解析任何 JSX 代码:意外令牌 (8:2) 您可能需要适当的加载程序来处理此文件类型。

错误报告

i 「wds」: Project is running at http://localhost:8080/
i 「wds」: webpack output is served from /
i 「wds」: Content not from webpack is served from E:\React_Native\react-native-sdk\react-native-sample
× 「wdm」: Hash: 7aedd4585c7beddba8f6
Version: webpack 4.32.2
Time: 2621ms
Built at: 05/31/2019 7:03:04 PM
        Asset     Size  Chunks             Chunk Names
bundle.web.js  6.8 MiB    main  [emitted]  main
Entrypoint main = bundle.web.js
[1] multi (webpack)-dev-server/client?http://localhost (webpack)/hot/dev-server.js ./index.js 52 bytes {main} [built]
[./index.js] 1.62 KiB {main} [built]
[./node_modules/loglevel/lib/loglevel.js] 7.68 KiB {main} [built]
[./node_modules/querystring-es3/index.js] 127 bytes {main} [built]
[./node_modules/react-native-web/dist/index.js] 8.86 KiB {main} [built]
[./node_modules/strip-ansi/index.js] 161 bytes {main} [built]
[./node_modules/url/url.js] 22.8 KiB {main} [built]
[./node_modules/webpack-dev-server/client/index.js?http://localhost] (webpack)-dev-server/client?http://localhost 9.26 KiB {main} [built]
[./node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.59 KiB {main} [built]
[./node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.05 KiB {main} [built]
[./node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built]
[./node_modules/webpack/hot/dev-server.js] (webpack)/hot/dev-server.js 1.61 KiB {main} [built]
[./node_modules/webpack/hot/emitter.js] (webpack)/hot/emitter.js 75 bytes {main} [built]
[./node_modules/webpack/hot/log-apply-result.js] (webpack)/hot/log-apply-result.js 1.27 KiB {main} [built]
[./node_modules/webpack/hot/log.js] (webpack)/hot/log.js 1.11 KiB {main} [built]
    + 302 hidden modules

ERROR in ./src/App.js 8:2
Module parse failed: Unexpected token (8:2)
You may need an appropriate loader to handle this file type.
| 
| const Link = props => (
>   <Text
|     {...props}
|     accessibilityRole="link"
 @ ./index.js 29:0-28 34:54-57
 @ multi ./index.js
i 「wdm」: Failed to compile.

在 webpack.config.js 中尝试了多个插件和预设

 i. presets: [require.resolve('babel-preset-react-native')],

 ii. presets: ['react-native']

react-native-sample -> package.json

网页/webpack.config.js

Metro.config.js

babel.config.js

    module.exports = {
      presets: ['module:metro-react-native-babel-preset'],
    };

任何帮助都是最有帮助的。

4

1 回答 1

0

我想向寻求相同解决方案的其他人提供我的问题的解决方案。尽管在评论中提供了解决方案,因为每个人都可以尝试在答案部分找到解决方案。

根据Tobias Koppers RegExp 不允许包含对象配置,将我的包含模块配置更改为 webpack 的 babel 配置中的路径解决了这个问题srcnode_modules

 path.resolve(appDirectory, '/src/*'),
 path.resolve(appDirectory, '/node_modules/react-native-*'),

对此

 path.resolve(appDirectory, 'src'),
 path.resolve(appDirectory, 'node_modules'),

修复了这个问题。

于 2019-06-04T11:06:59.967 回答