Как удалить последнюю / в домашнюю страницу package.json приложения create-реагировать на приложение - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь запустить React на устройстве Tridium Jace-8000.URL-адреса файлов для файлов таковы:

https://localhost/ord/file:^static/js/90.5af7b6f6.chunk.js

Я смог поместить в файл package.json следующее:

"homepage": "./file:%5E" (которые заменяют /file:^, чтобы избежатьспециальный символ)

Однако в конце URL-адреса добавляется косая черта, поэтому я получаю в консоли следующие ошибки:

GET https://localhost/ord/file:%5E/static/css/90.f2a8a0e3.chunk.css
net::ERR_ABORTED 400 (Bad Request)

Как видите, естьдополнительные / между %5E и static.

Есть ли способ заставить процесс сборки пропустить дополнительные /?

Спасибо,

1 Ответ

0 голосов
/ 29 декабря 2018

Если кому-то это понадобится, я исправил это, убедившись, что при сборке было только 1 файл на JS или CSS, используя следующее вместо обычной сборки:

const rewire = require('rewire');
const defaults = rewire('react-scripts/scripts/build.js');
let config = defaults.__get__('config');

config.optimization.splitChunks = {
    cacheGroups: {
        default: false,
    },
};

config.optimization.runtimeChunk = false;

Я запускаю этот скрипт сборкипотому что я изменил свой package.json для запуска этого файла вместо обычной сборки.

Я также должен был отключить все LazyLoad, которые у меня были в этом проекте, и заменить его на обычный import.

Затем, после сборки, я должен перейти в файл index.html и изменить его следующим образом:

с: <link href="./static/css/main.0c6501c3.css" rel="stylesheet"> <script src="./static/js/main.5dfc694d.js"></script>

на: <link href="static/css/main.0c6501c3.css" rel="stylesheet"> <script src="static/js/main.5dfc694d.js"></script>

Затем я захожу в папку резервных копий станций на моем компьютере, помещаю встроенные файлы в корневой уровень станции, загружаю их в Tridium Jace с помощью программного обеспечения niagara vykon workbench.

Кроме того, мне пришлось изменить реагирующий маршрутизатор, чтобы использовать MemoryHistory вместо обычного, поскольку изменение URL-адреса в Jace было проблематичным.

import { createMemoryHistory } from 'history'
  const memoryHistory = createMemoryHistory({
    initialEntries: [ '/' ],  // The initial URLs in the history stack
    initialIndex: 0,          // The starting index in the history stack
    keyLength: 6,             // The length of location.key
    // A function to use to confirm navigation with the user. Required
    // if you return string prompts from transition hooks (see below)
    getUserConfirmation: null
  });

const App = props => <Router history={memoryHistory}/>;

Один дополнительный шаг, который я сделал, заключался в том, чтобыдобавить страницу перенаправления, которую я назвал home.html какдомашняя страница в файле nav.nav у меня на станции.Вот теги скрипта.Это запустит приложение реагирования на экране в полноэкранном режиме, а не в меню вставки.

<script>

window.location.replace("../file/index.html")
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...