Неожиданный маркер.состояние = {} при запуске шутка - PullRequest
0 голосов
/ 06 мая 2019

Эй, ребята, я сталкиваюсь с

      simplifica/App.jsx: Unexpected token (17:8)
        15 | 
        16 | export default class App extends React.Component {
      > 17 |   state = {
           |         ^
        18 |     isLoadingComplete: false
        19 |   };
        20 | 

Когда я запускаю jest, я нахожусь в этом часах, я обнаружил несколько проблем, подобных моей, но решения для меня не сработали, ни используя @ babel / plugin-offer-classproperties

Вот мой babel.config.js

module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo', 'module:react-native-dotenv'],
    plugins: [
      [
        '@babel/plugin-proposal-decorators',
        {
          legacy: true
        }
      ],
      ['@babel/plugin-proposal-class-properties', { loose: true }]
    ]
  };
};

А вот и мой jest config

   "jest": {
      "preset": "jest-expo",
      "transformIgnorePatterns": [
        "node_modules/(?!((jest-)?react-native|react-clone-referenced-element|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|sentry-expo|native-base))"
      ],
      "moduleFileExtensions": [
        "js",
        "jsx"
      ],
      "transform": {
        "^.+\\.js$": "babel-jest",
        "^.+\\.jsx$": "babel-jest",
        ".*": "<rootDir>/node_modules/webpack-babel-jest"
      }
    }

1 Ответ

0 голосов
/ 07 мая 2019

Исправлено!Для тех, у кого такая же проблема:

  1. Убедитесь, что ваши jest и babel-jest находятся в совместимых выпусках
  2. Убедитесь, что вы используете Babel 7
  3. Мой преобразование также былонеправильно, эти 2 строки:
"^.+\\.js$": "babel-jest",
        "^.+\\.jsx$": "babel-jest",

Должна быть только одна, например:

      "^.+\\.(js|jsx|ts)$": "babel-jest"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...