Игнорировать возвращение за пределы функции с Babel 7 - PullRequest
1 голос
/ 31 января 2020

Я недавно обновился до babel 7 и webpack 4 и получаю эту ошибку при запуске нашей задачи сборки gulp:

gulp build
[00:26:04] Requiring external module @babel/register
[91m[BABEL] Note: The code generator has deoptimised the styling of /node_modules/lodash/lodash.js as it exceeds the max of 500KB.
[0m[91m/node_modules/@babel/core/lib/parser/index.js:95
    throw err;
    ^

SyntaxError: /node_modules/dev-ip/lib/dev-ip.js: 'return' outside of function (41:8)

  39 |     var out = getIp();
  40 |     if (!out.length) {
> 41 |         return console.log(messages.error);
     |         ^
  42 |     }
  43 |     console.log(getIp("cli"));
  44 | }
    at Parser.raise (/node_modules/@babel/parser/src/parser/location.js:41:63)
    at Parser.parseReturnStatement (/node_modules/@babel/parser/src/parser/statement.js:577:12)
    at Parser.parseStatementContent (/node_modules/@babel/parser/src/parser/statement.js:199:21)
    at Parser.parseStatement (/node_modules/@babel/parser/src/parser/statement.js:146:17)
    at Parser.parseBlockOrModuleBlockBody (/node_modules/@babel/parser/src/parser/statement.js:865:25)
    at Parser.parseBlockBody (/node_modules/@babel/parser/src/parser/statement.js:841:10)
    at Parser.parseBlock (/node_modules/@babel/parser/src/parser/statement.js:818:10)
    at Parser.parseStatementContent (/node_modules/@babel/parser/src/parser/statement.js:223:21)
    at Parser.parseStatement (/node_modules/@babel/parser/src/parser/statement.js:146:17)
    at Parser.parseIfStatement (/node_modules/@babel/parser/src/parser/statement.js:570:28)
[0m[91merror Command failed with exit code 1.

Это вызвано возвратом за пределы функции в sync-браузере dev-ip Зависимость.

Есть ли способ настроить мой файл .babelr c, чтобы игнорировать это?

Я пробовал следующее:

  1. Установка только для производства зависимости, но поскольку браузер syn c импортируется в мой файл gulp, он все еще компилируется
  2. Настройка рабочих пространств с использованием пряжи, но проблема, аналогичная # 1
  3. Динамический импорт браузера syn c в моем файле gulp, я полагаю, это еще не поддерживается?
  4. Указание babel игнорировать или исключать компиляцию папки node_modules, но, похоже, это ничего не дает?

Очевидно, у babel-parser есть опция allowReturnOutsideFunction: true, но я не могу понять, как установить это в моем файле .babelr c.

Есть мысли о том, как обойти это?

1 Ответ

0 голосов
/ 31 января 2020

Так как я не мог найти решение этой проблемы, я в итоге разветвлял browser-syn c и dev-ip.

Даю вам, вонь в браузере

...