Нет файла index.html после сборки gatsby-cli?

Я экспериментирую с GatsbyJS. Я создал новый сайт, основанный на их генераторе сайтов по умолчанию, и внес некоторые изменения. При использовании команды gatsby develop все работает как положено. Я пошел использовать gatsby build, и он создает папку /public, однако нет ни «index.html», ни даже «bundle.js».

Является ли сайт по умолчанию «особенным» в том смысле, что он не будет создавать сайт обычным способом? Нужен ли другой параметр в версии gatsby-config для создания index.html?

ls каталога /public возвращает:

1-5cf9b126c8aa029e3c76.js
1-5cf9b126c8aa029e3c76.js.map
1-f2577b7d9227c6ab20bd.js
1-f2577b7d9227c6ab20bd.js.map
404
app-dc0da5ea76a79bd92e99.js
app-dc0da5ea76a79bd92e99.js.map
app-e2d084d7f150c4a0d4f4.js
app-e2d084d7f150c4a0d4f4.js.map
chunk-map.json
component---node-modules-gatsby-plugin-offline-app-shell-js-896a3f852b233b9ca05e.js
component---node-modules-gatsby-plugin-offline-app-shell-js-896a3f852b233b9ca05e.js.map
component---src-pages-404-js-8e1643e05587f89c70d6.js
component---src-pages-404-js-8e1643e05587f89c70d6.js.map
component---src-pages-404-js-c2122e5847e5d16ffe11.js
component---src-pages-404-js-c2122e5847e5d16ffe11.js.map
component---src-pages-index-js-be99ef46e818d68362b3.js
component---src-pages-index-js-be99ef46e818d68362b3.js.map
component---src-pages-index-js-edad0a6dd0d36ec7cdbd.js
component---src-pages-index-js-edad0a6dd0d36ec7cdbd.js.map
component---src-pages-page-2-js-0479e3779ff85cb5431c.js
component---src-pages-page-2-js-0479e3779ff85cb5431c.js.map
component---src-pages-page-2-js-a49a481686ec152c45b7.js
component---src-pages-page-2-js-a49a481686ec152c45b7.js.map
icons
manifest.webmanifest
offline-plugin-app-shell-fallback
pages-manifest-5c619b10fb87f94c2d85.js
pages-manifest-5c619b10fb87f94c2d85.js.map
pages-manifest-e84c50768dd42edc85fe.js
pages-manifest-e84c50768dd42edc85fe.js.map
render-page.js
render-page.js.map
static
styles-0375cdcc38b87565858c.js
styles-0375cdcc38b87565858c.js.map
styles-b76dfad3fcff2976e17c.js
styles-b76dfad3fcff2976e17c.js.map
styles.fc4fa5e094d218207796.css
webpack-runtime-50855368c384639cab1f.js
webpack-runtime-50855368c384639cab1f.js.map
webpack-runtime-66b8792cf68b5ba07ac4.js
webpack-runtime-66b8792cf68b5ba07ac4.js.map
webpack.stats.json

Для справки:

$ gatsby -v
2.5.5

И package.json:

{
  "name": "gatsby-starter-default",
  "private": true,
  "description": "A simple starter to get up and developing quickly with Gatsby",
  "version": "0.1.0",
  "author": "Kyle Mathews <[email protected]>",
  "dependencies": {
    "gatsby": "^2.3.5",
    "gatsby-image": "^2.0.37",
    "gatsby-plugin-manifest": "^2.0.26",
    "gatsby-plugin-offline": "^2.0.25",
    "gatsby-plugin-react-helmet": "^3.0.11",
    "gatsby-plugin-sharp": "^2.0.32",
    "gatsby-source-filesystem": "^2.0.28",
    "gatsby-transformer-sharp": "^2.1.17",
    "prop-types": "^15.7.2",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-helmet": "^5.2.0"
  },
  "devDependencies": {
    "prettier": "^1.16.4"
  },
  "keywords": [
    "gatsby"
  ],
  "license": "MIT",
  "scripts": {
    "build": "gatsby build",
    "develop": "gatsby develop",
    "format": "prettier --write src/**/*.{js,jsx}",
    "start": "npm run develop",
    "serve": "gatsby serve",
    "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\""
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/gatsbyjs/gatsby-starter-default"
  },
  "bugs": {
    "url": "https://github.com/gatsbyjs/gatsby/issues"
  }
}

Как вы его создавали и какие изменения?

Tico 08.04.2019 02:56
gatsby new site и я сделал несколько новых компонентов, чтобы заменить стандартный
stakolee 08.04.2019 03:13

Я бы попробовал удалить папку node_modules и попробовать npm install снова. Кроме того, вы можете опубликовать свой файл packages.json?

Tico 08.04.2019 03:15

Я добавил package.json. Переустановка файлов узла не дала результата...

stakolee 08.04.2019 03:37

Запуск gatsby develop создал новый index.html, но это странно.

Tico 08.04.2019 03:44

Ах, я нашел это. Была допущена ошибка. По какой-то причине вы можете нормально вызывать «fetch» ​​в режиме develop, но его нужно импортировать во время работы build

stakolee 08.04.2019 04:36

Красиво, рада, что нашла!

Tico 08.04.2019 04:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
1 656
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как отмечалось в комментариях выше, проблема заключалась в том, что gatsby develop и gatsby build, казалось, имели разные требования. При работе с командой bulld команду fetch es6 необходимо импортировать вручную (бу).

Это просто означало добавление строки

import 'isomorphic-fetch';

Всем файлам, вызывающим fetch.

рад, что вы разобрались, gatsby build генерировать страницы в среде узла, что означает, что у него нет доступа к объекту window только для браузера. Это включает в себя такие вещи, как fetch, location, document... и т. д. Если вы хотели использовать fetch только в браузере, вы должны проверить window как if (typeof window !== 'undefined'); в противном случае вам придется вручную импортировать пакет (как вы узнали).

Derek Nguyen 09.04.2019 03:25

Другие вопросы по теме