如何让Gulp在项目的根目录中读取Babel7的babel.config.js?

问题描述 投票:1回答:1

这是我的项目结构:

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',
      },
    }],
  ],
};

据我所知,我不需要在.babelrcmodule1创建module2,因为我在根中有babel.config.js。然而,当我在module1上运行gulp时,我看到gulp没有找到babel的配置,因为我得到:

Project/module1/gulpfile.babel.js:26
import gulp from 'gulp';
       ^^^^
SyntaxError: Unexpected identifier

我的错误在哪里?

javascript ecmascript-6 gulp babeljs
1个回答
0
投票

我找到的唯一解决方案如下 - 我们应该使用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,我们完成了所有的任务。

© www.soinside.com 2019 - 2024. All rights reserved.