ОШИБКА # 98123 WEBPACK: сбой при создании пакета JavaScript для разработки — неожиданный токен

#npm #webpack #gatsby

#npm #webpack #gatsby

Вопрос:

Я клонировал свой репозиторий, а затем установил все пакеты через npm. Когда я пытаюсь запустить mu-программу, gatsby develop я получаю эту ошибку во всех файлах в templates каталоге.

введите описание изображения здесь

Я уже очистил кэш, удалил node_modules public папки и, переустановил пакеты и так далее, Но ничего не сработало.

Это информация, которую я получаю от gatsby info :

   System:
    OS: macOS 11.1
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 14.0.0 - ~/.nvm/versions/node/v14.0.0/bin/node
    Yarn: 1.13.0 - ~/.npm-global/bin/yarn
    npm: 6.14.4 - ~/.nvm/versions/node/v14.0.0/bin/npm
  Languages:
    Python: 2.7.16 - /usr/bin/python
  Browsers:
    Chrome: 87.0.4280.141
    Firefox: 78.0.2
    Safari: 14.0.2
  npmPackages:
    gatsby: ^2.30.1 => 2.31.1
    gatsby-awesome-pagination: ^0.3.6 => 0.3.6
    gatsby-image: ^2.5.0 => 2.10.0
    gatsby-plugin-eslint: ^2.0.8 => 2.0.8
    gatsby-plugin-fontawesome-css: ^1.0.0 => 1.0.0
    gatsby-plugin-manifest: ^2.6.1 => 2.11.0
    gatsby-plugin-netlify-cms: ^4.5.0 => 4.9.0
    gatsby-plugin-offline: ^3.4.0 => 3.9.0
    gatsby-plugin-react-helmet: ^3.4.0 => 3.9.0
    gatsby-plugin-sharp: ^2.8.0 => 2.13.1
    gatsby-plugin-styled-components: ^3.5.0 => 3.9.0
    gatsby-plugin-typography: ^2.10.0 => 2.11.0
    gatsby-source-filesystem: ^2.5.0 => 2.10.0
    gatsby-transformer-remark: ^2.12.0 => 2.15.0
    gatsby-transformer-sharp: ^2.6.0 => 2.11.0

 

У кого-нибудь есть подобная проблема или вы знаете, как ее решить?

Ответ №1:

Дело не в зависимостях или конфигурации, у вас опечатка в вашем проекте. Кажется, что где-то в ваших файлах JavaScript (возможно, в templates папке) у вас есть . (точка), которая нарушает ваш код.

Чтобы включить необязательную цепочку в любом проекте JavaScript, поскольку это не стандартная функция, вам необходимо:

  • Установите dependency ( @babel/plugin-proposal-optional-chaining ):
     npm install --save-dev @babel/plugin-proposal-optional-chaining
     

    Или:

     yarn add @babel/plugin-proposal-optional-chaining --dev
     
  • Включите его в своей конфигурации Babel. В Gatsby вы можете создать babel.config.js (или .babelrc ) в корне вашего проекта, чтобы настроить конфигурацию Babel:
     {
       "plugins": [
         ["@babel/plugin-proposal-optional-chaining"]
       ],
       "presets": [
         [
           "babel-preset-gatsby",
           {
             "targets": {
               "browsers": [">0.25%", "not dead"]
             }
           }
         ]
       ]
    }
     

Исправлено:

проблема была my package-lock.json . После того, как мы это исправили, все работает правильно 🙂 неважно

Комментарии:

1. это . (точка) существует из-за необязательной цепочки const {frontmatter, html} = data?.markdownRemark

2. Вы установили плагин? Нестандартные функции ECMA необходимо установить через Babel в файле конфигурации

3. Я только что извлек главную ветку из источника и установил все пакеты package.json . Это очень странно, потому что неделю назад все работало отлично.

4. проблема заключалась в моем package-lock.json. После того, как мы это исправили, все работает правильно 🙂 неважно, спасибо за помощь

5. Добро пожаловать. Если вы не возражаете, я отредактировал сообщение, если кто-то сочтет его полезным