2016-11-27 4 views
3

Я развертываю сайт скомпилированного узла на основе шаблона React Slingshot для Github Pages. Запуск локально возможен через npm start.Как отладить сайт узла публикации 404 на страницах Github?

Но когда я скомпилирую файлы с помощью babel и передаю свой репозиторий github-страниц. Сайт возвращает 404 для файла main.c5ec540e041525c6d312.js, хотя я вижу, что он находится в репозитории git. (НазваниеКомпании совершенные из ссылки таким образом, они не будут работать ниже)

Ссылка создана из Github является:

https://pages.github.mycompanyname.com/DDM/index.html

И 404 я получаю:

https://pages.github.mycompanyname.com/main.c5ec540e041525c6d312.js/

Я попытался удалить и повторно добавить репо, как предлагается здесь, безрезультатно:

How to fix page 404 on Github Page?

Вопрос: Как отладить сайт узла 404 публикации на страницах GitHub?

Это содержимое папки dist после компиляции babel. Затем я переместился в репозиторий Github Pages, который автоматически создает веб-сайт из главной ветки. Но дает 404 на файл main.js:

enter image description here

Я попытался изменения также browserHistory к hashHistory в index.js до компиляции. По вопросам GitHub страниц утверждают, что browserHistory использует абсолютные ссылки в то время как последний не:

import React from 'react'; 
import ReactDom from 'react-dom'; 
import Routes from './routes'; 
import {Router, hashHistory} from 'react-router'; 
import './styles/styles.scss'; 


import appStore from './reducers'; 
import { Provider } from 'react-redux'; 
import { createStore } from 'redux'; 

let store = createStore(appStore); 

require('./images/favicon.ico'); 
let element = document.getElementById('app'); 

ReactDom.render(
    <Provider store={store}> 
     <Router history={hashHistory} routes={Routes.routes} /> 
    </Provider>, element); 

document.body.classList.remove('loading'); 

И это ссылка на файл index.js скомпилированного:

http://hastebin.com/sipimizazu.xml

ищет Также на webpack pro config для компиляции. Я вижу, что общественный путь устанавливается на следующее:

export default { 
    resolve: { 
    extensions: ['', '.js', '.jsx'] 
    }, 
    debug: true, 
    devtool: 'source-map', // more info:https://webpack.github.io/docs/build-performance.html#sourcemaps and https://webpack.github.io/docs/configuration.html#devtool 
    noInfo: true, // set to false to see a list of every file being bundled. 
    entry: path.resolve(__dirname, 'src/index'), 
    target: 'web', // necessary per https://webpack.github.io/docs/testing.html#compile-and-test 
    output: { 
    path: path.resolve(__dirname, 'dist'), 
    publicPath: '/', 
    filename: '[name].[chunkhash].js' 
    }, 
+0

ли вы положили его в Gh-страницах отрасли? –

+0

Нет, он находится в папке master, и построитель страниц настроен на то, чтобы извлечь из этого. –

+0

Вы уверены, что файл зарегистрирован в git? –

ответ

0

Изменение publicPath в WebPack конфигурации исправлена ​​ошибка 404. Поскольку моя страница GitHub страницы была расположена в .../DDM/

Я обновил конфиг на следующее:

output: { 
    path: path.resolve(__dirname, 'dist'), 
    publicPath: '/DDM/', 
    filename: '[name].[chunkhash].js' 
    }, 
+1

Эй, Брайан, у меня аналогичная проблема с развертыванием моего проекта, основанного на реакции на slingshot, на страницах GitHub. Вы могли бы предоставить немного больше информации о том, как вы его работали? Похоже, у меня такая же настройка, как у вас, но у меня все еще есть 404 ошибки и неправильные пути. У вас есть пример проекта, который я мог бы найти для справки? – Logan

+0

Привет, каково имя вашей организации Github Pages, на которой вы размещаете репозиторий? Также, что значение publicPath в вашем файле webpack.env.config.js? Этот общедоступный путь используется страницами Github для поиска файла index.js, вы можете получить 404, потому что путь не совпадает с именем вашей организации Github. –

+0

Я пытаюсь опубликовать https://lwilli.github.io/WeatherCompare/. В репозитории React Slingshot нет файла webpack.env.config.js ... Я устанавливал значение output.publicPath в файле webpack.config.prod.js на '/ WeatherCompare /', но я не могу получить любые маршруты для работы - работает только домашняя страница. – Logan