Babel - узлы с синтаксисом JSX в файлах - PullRequest
0 голосов
/ 12 декабря 2018

Я получаю SyntaxError при импорте модулей, в которых синтаксис JSX используется в файлах .JS.

Одним из примеров этого является «ответная навигация»

Failed to compile.

./node_modules/@react-navigation/native/dist/ResourceSavingSceneView.js
SyntaxError: /Users/my_user/Projects/my-react-native-web-app/node_modules/@react-navigation/native/dist/ResourceSavingSceneView.js: Unexpected token(35:11)

  33 |     } = this.props;
  34 |
> 35 |     return <View style={styles.container} collapsable={false} removeClippedSubviews={Platform.OS === 'android' ? removeClippedSubviews: !isFocused && removeClippedSubviews}>
     |            ^
  36 |         <View style={this._mustAlwaysBeVisible() || isFocused ?styles.innerAttached : styles.innerDetached}>
  37 |           {awake ? <SceneView {...rest} navigation={childNavigation} /> : null}
  38 |         </View>

Ниже приведен мойКонфигурация Babel:

module.exports = function(api) {
    api.cache(true);
    return {
        plugins: [
            [
                "@babel/plugin-proposal-class-properties",
                {
                    loose: true
                }
            ],
            [
                "module-resolver",
                {
                    alias: {
                        "^react-native$": "react-native-web"
                    }
                }
            ]
        ],
        presets: [["react-app"], ["babel-preset-expo"]]
    };
};

Надеюсь, кто-то знает, что происходит

Спасибо:)

1 Ответ

0 голосов
/ 27 декабря 2018

Вы должны явно указать webpack для переноса react-navigation.

      // Process JS with Babel.
      {
        test: /\.(js|jsx|mjs)$/,
        include: [
          `${paths.appNodeModules}/react-navigation`,

Ссылки: webpack.config.dev.js # L141

...