реакция-создание-приложение "npm run build" не переносит JSX - PullRequest
0 голосов
/ 04 июня 2018

Я создал новый проект React с create-реагировать-приложение, но когда я использую npm run build и открываю полученную сборку в браузере (обслуживаемую из моего собственного экспресс-приложения), я получаю консольные ошибки о нераспознанном синтаксисе JSX, который не был

Предполагается, что это происходит автоматически из коробки, или есть что-то еще, что мне нужно сделать?

edit: структура проекта

express-application:
  admin (react build output)
  admin-src (create-react-app project source folder)
  ...
  app.js
  project.json
  gulpfile.js

Поэтому я использую скрипт gulp для выполнения npm run build в подкаталоге admin-src, а затем он передает полученную сборку в admin.Папка admin - это то, что приложение служит клиентом.

1 Ответ

0 голосов
/ 04 июня 2018

Хорошо, у меня все получилось, используя gulp и gulp-jsx для переноса полученной папки сборки перед копированием.

Вот что я придумал:

const gulp = require('gulp');
const jsx = require('gulp-jsx');

gulp.task('build-admin', () => {
  gulp.src('admin-src/build/**/*!(.js)')
    .pipe(gulp.dest('./admin'));
  gulp.src('admin-src/build/**/*.js')
    .pipe(jsx({
      factory: 'React.createClass'
    }))
    .pipe(gulp.dest('./admin'));
});
...