Javascript 如何对Grunt和Babel的工作做出反应?
我正试图利用Grunt构建将React集成到当前的项目中,我们目前拥有Grunt构建 我去了grunt react,它说它已经被弃用了,我应该使用grunt babel 这是不是在编译React时就可以实现?我是否需要安装其他类似babel preset react的设备才能使其正常工作 此外,我不确定如何设置Grunfile来处理此问题,目前我有: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
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",