代码之家  ›  专栏  ›  技术社区  ›  Pavel_K

如何使gulp在项目根目录中读取babel7的babel.config.js?

  •  1
  • Pavel_K  · 技术社区  · 6 年前

    这是我的项目结构:

    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.Copy.JS 在根部。但是,当我大口吃东西的时候 模块1 我看到Gulp没有找到Babel的配置:

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

    我的错误在哪里?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Pavel_K    6 年前

    我找到的唯一解决方案是-我们应该使用 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 我们把所有的任务都做完了。

        2
  •  -1
  •   Bhargav Rao rlgjr    6 年前

    您可以尝试重命名 @babel/env @babel/preset-env .

    此外,检查 https://babeljs.io/docs/en/options#configfile