#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. Добро пожаловать. Если вы не возражаете, я отредактировал сообщение, если кто-то сочтет его полезным