Javascript 如何对Grunt和Babel的工作做出反应?

Javascript 如何对Grunt和Babel的工作做出反应?,javascript,node.js,reactjs,gruntjs,babeljs,Javascript,Node.js,Reactjs,Gruntjs,Babeljs,我正试图利用Grunt构建将React集成到当前的项目中,我们目前拥有Grunt构建 我去了grunt react,它说它已经被弃用了,我应该使用grunt babel 这是不是在编译React时就可以实现?我是否需要安装其他类似babel preset react的设备才能使其正常工作 此外,我不确定如何设置Grunfile来处理此问题,目前我有: babel: { options { sourceMap: true, p

我正试图利用Grunt构建将React集成到当前的项目中,我们目前拥有Grunt构建

我去了grunt react,它说它已经被弃用了,我应该使用grunt babel

这是不是在编译React时就可以实现?我是否需要安装其他类似babel preset react的设备才能使其正常工作

此外,我不确定如何设置Grunfile来处理此问题,目前我有:

    babel: {
        options {
            sourceMap: true,
            presets: ['es2015']
        },
        dist: {
            files: [
                {
                    expand: true,
                    cwd: 'src/',
                    src: ['*.js'],
                    dest: 'dist/'
                }
            ]
        }
    },

谢谢

希望您的解决方案仍能在这里得到解答,它将帮助一些需要工作的人对grunt和babel做出反应

首先确保您已安装以下设备:

npm install --save-dev grunt-babel babel-cli
巴贝尔的Grunt插件

然后添加一个grunt任务/gruntfile,如下所示:

module.exports = function (grunt) {
'use strict';
  grunt.initConfig({
    babel: {
        options: {
            sourceMap: false,
            presets: ["env", "react"],
            plugins: ["transform-es2015-modules-amd"]
        },
        dist: {
            files: [{
                expand: true,
                cwd: './src',
                src: ['*.js'],
                dest: './generated',
                ext: '.js'
            }]
        }
    }
  });
  grunt.loadNpmTasks('grunt-babel');
  grunt.registerTask('default', ['babel']);
};
package.json

   "devDependencies": {
       "babel-cli": "^7.0.0-beta.3",
       "babel-core": "7.0.0-alpha.19",
       "babel-plugin-transform-es2015-modules-amd": "^7.0.0-alpha.19",
       "babel-preset-env": "^2.0.0-beta.2",
       "babel-preset-es2015": "7.0.0-alpha.19",
       "babel-preset-react": "^7.0.0-alpha.19",
       "grunt-babel": "^7.0.0",
 }
希望这有帮助

已编辑

巴别塔->@babel

自从Babel 7以来,Babel团队转向了范围软件包,因此您现在必须使用@Babel/core而不是Babel-core

您的依赖项需要进行如下修改:

巴贝尔cli->@babel/cli。例如:巴别塔-带有@babel/

package.json将如下所示:

"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"grunt-babel": "^8.0.0",
"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"grunt-babel": "^8.0.0",