Если кому-то это понадобится, я исправил это, убедившись, что при сборке было только 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>