gpt4 book ai didi

javascript - 如何让 React 与 Grunt 和 Babel 一起工作?

转载 作者:搜寻专家 更新时间:2023-11-01 00:39:35 24 4
gpt4 key购买 nike

我正在尝试使用我们目前拥有的 Grunt 构建将 React 集成到当前项目中。

我去了grunt-react https://www.npmjs.com/package/grunt-react ,它表示它已被弃用,我应该使用 grunt-babelhttps://github.com/babel/grunt-babel

这是否在编译 React 时开箱即用?我是否需要安装其他任何东西,例如 babel-preset-react https://babeljs.io/docs/plugins/preset-react/为了让这个工作?

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

    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

Babel 的 Grunt 插件 grunt-babel

npm install --save-dev babel-plugin-transform-es2015-modules-amd 

npm install babel-preset-env --save-dev

npm install --save-dev babel-cli babel-preset-react

然后添加一个 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']);
};

包.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

Since Babel 7 the Babel team switched to scoped packages, so you now have to use @babel/core instead of babel-core.

Your dependencies will need to be modified like so:

babel-cli -> @babel/cli. Ex: babel- with @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",

关于javascript - 如何让 React 与 Grunt 和 Babel 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com