Я недавно обновился до 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, чтобы игнорировать это?
Я пробовал следующее:
- Установка только для производства зависимости, но поскольку браузер syn c импортируется в мой файл gulp, он все еще компилируется
- Настройка рабочих пространств с использованием пряжи, но проблема, аналогичная # 1
- Динамический импорт браузера syn c в моем файле gulp, я полагаю, это еще не поддерживается?
- Указание babel игнорировать или исключать компиляцию папки node_modules, но, похоже, это ничего не дает?
Очевидно, у babel-parser есть опция allowReturnOutsideFunction: true
, но я не могу понять, как установить это в моем файле .babelr c.
Есть мысли о том, как обойти это?