我用create-react-app创建了一个新的React项目,但是当我使用npm run build
并在浏览器中打开生成的构建(由我自己的快速应用程序提供(时,我收到有关未转译的无法识别的JSX语法的控制台错误。
它应该开箱即用地自动执行此操作还是我需要做其他事情?
编辑:项目结构
express-application:
admin (react build output)
admin-src (create-react-app project source folder)
...
app.js
project.json
gulpfile.js
所以我使用 gulp 脚本在admin-src
子目录中执行npm run build
,然后将生成的构建通过管道传输到admin
.admin
文件夹是应用程序用作客户端的文件夹。
好的,我使用它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'));
});