symfony react.js Как добавить его с помощью npm (без yarn)

Ставим 4-ре пакета двумя командами:

npm install --save-dev @babel/preset-react
npm install  react react-dom prop-types

далее правим webpack.config.js:

// webpack.config.js
// ...

Encore
    // ...
+     .enableReactPreset()
;

ПРИМЕЧАНИЯ:

  1. в нашем случае пришлось поправить package.json для нормальной работы локального отладочного сервера.
  2. Пример настройки маршрута symfony для SPA: http://fkn.ktu10.com/?q=node/10993

Key Words for FKN + antitotal forum (CS VSU):

farberling_ti's picture

Это не очевидно, но чтобы заставить понимать jsx-разметку нужно установленный пресет (@babel/preset-react) подключить в babel-конфиг:
-Либо добавить в .babelrc в массив presets строчку ["@babel/preset-react"]:

{
  "presets": [
    ["@babel/preset-env", {
      "useBuiltIns": "usage",
      "corejs": {
        "version": 3.6,
        "proposals": true
      }
    }],
    ["@babel/preset-react"]
  ],
  "plugins": ["@babel/plugin-transform-arrow-functions"]
}

-Либо в package.json в раздел babel:

"babel": {
    "presets": [["@babel/preset-react"]],
  }

-Либо, если конфиг находится в webpack.config.js, и вы используете Encore, добавить:

Encore
      // ...
     .configureBabel((babelConfig) => {
            babelConfig.presets.push('@babel/preset-react');
     })
;