В коде строгого режима функции могут быть объявлены только на верхнем уровне или непосредственно внутри другой функции - Android 4.4, next.js 8.1.0 - PullRequest
0 голосов
/ 02 июля 2019

Когда я запускаю свой проект в Android v4.4.2, я получаю эту ошибку, и мой проект не работает.

Uncaught SyntaxError: In strict mode code, functions can only be declared at top level or immediately within another function

Я добавил полифилы и @ babel / preset-env. но эта ошибка не исчезает.

Окружающая среда

  • реагирует: "^ 16.8.6",
  • next.js: "^ 8.1.0",
  • babel: "^ 7.4.3"

next.config.js

// ...

        const originalEntry = config.entry;
        config.plugins = config.plugins || [];

        // babel-poylfiil
        config.entry = async () => {
          const entries = await originalEntry();

          if (entries['main.js'] && !entries['main.js'].includes('./polyfills.js')) {
            entries['main.js'].unshift('./polyfills.js');
          }

          return entries;
        };

// ...

babel.config.js

// ...

presets: ['next/babel', '@zeit/next-typescript/babel', ["@babel/preset-env", {
        targets: {
          ie: 11,
          ios: 9,
          android: 4
        },
        useBuiltIns: 'entry',
      }], '@babel/preset-typescript'],

//...

Что мне сделать, чтобы избавиться от этой ошибки?

1 Ответ

0 голосов
/ 03 июля 2019

Я нашел причину ошибки.

https://github.com/zeit/next.js/issues/7496

Я попытаюсь проверить следующую версию 8.1.1-canary.51.

...