@vorobey33rus

Как собрать приложение на React в минимальное количество файлов для импорта в Dynamics 365?

Доброго времени суток!
Используя create-react-app наткнулся на проблему: по умолчанию проект билдится в виде чанков и карт. Структура примерно следующая:
В папке build находится папка static, в которую вложены папка js и css с соответствующими чанками и картами для них, а также index.html и иже с ним.

Однако, мне требуется импортировать приложение в экосистему dynamics 365, которая не подразумевает тип файла map.
Кроме того, как бы я ни пробовал, приложение все равно не работает.
Итак, вопрос следующий - можно ли без переноса и диких танцев с бубном собрать все это в минимальное количество файлов так, чтобы приложение корректно запускалось?
Приложение небольшое и загружаться должно практически мгновенно.
Если есть какой-то хитрый способ импортировать файлы с чанками в dynamics, расскажите, пожалуйста, о нем.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@vorobey33rus Автор вопроса
Решение есть!
Добавляем в нпм или ярн:

yarn add html-webpack-plugin@4.0.0-beta.4
yarn add html-webpack-inline-source-plugin@1.0.0-beta.2


Идем в config/webpack.config.js (предварительно придется сделать eject, это не больно):

const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin');   <--- добавить
...
plugins: [
  new HtmlWebpackPlugin(
    Object.assign(
      ...
      isEnvProduction
        ? {
            inlineSource: '.(js|css)$',    <-- добавить
            minify: {
              ...
  ),
  ...
  isEnvProduction &&
    shouldInlineRuntimeChunk &&
    new HtmlWebpackInlineSourcePlugin(HtmlWebpackPlugin),          <--- добавить
    new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime~.+[.]js/]),
    ...


Собираем, папка с файлами останется в том же виде, index.html же будет содержать все, что было в сборке. Он даже может запускаться локально, но учтите, что есть вероятность неполадок с роутингом. Но это не точно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
1. .map файлы вообще не нужны для работы приложения. вы их можете просто не копировать.
2. Убедитесь что вы делаете production build https://facebook.github.io/create-react-app/docs/p...
3. уменьшить количество файлов можно, с помощью https://github.com/timarney/react-app-rewired можно поменять конфиг вебпака как вам хочется, или просто сделать eject и поменять конфиг напрямую.

Про dynamics ничего не знаю, но выглядит так будто у вас проблема не с количеством файлов а в чем-то другом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы