这是我的项目结构:
Project
|-module1
| |-package.json
| |-gulpfile.babel.js
|-module2
| |-package.json
| |-gulpfile.babel.js
|-package.json
|-scripts.js
|-babel.config.js
正如你在项目的根目录中看到的那样,我有scripts.js
可以输出一些东西。在项目的根目录中阅读有关Babel7配置here的所有信息后,我创建了babel.config.js
,其中包含以下内容:
module.exports = {
presets: [
['@babel/env', {
targets: {
node: 'current',
firefox: '60',
chrome: '67',
safari: '11.1',
},
}],
],
};
据我所知,我不需要在.babelrc
和module1
创建module2
,因为我在根中有babel.config.js
。然而,当我在module1
上运行gulp时,我看到gulp没有找到babel的配置,因为我得到:
Project/module1/gulpfile.babel.js:26
import gulp from 'gulp';
^^^^
SyntaxError: Unexpected identifier
我的错误在哪里?
我找到的唯一解决方案如下 - 我们应该使用gulpfile.js
而不是gulpfile.babel.js
并手动配置babel。我的意思是:
在Project/module1/gulpfile.js
require('@babel/register')({
configFile: './../babel.config.js',
ignore: [/node_modules/]
})
require('./tasks')
在Project/module1/tasks.js
,我们完成了所有的任务。