Распространение покоя не переносится при нацеливании на край с NextJS - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь передать свой код ES6 через Babel, я использую предустановку next/babel вместе с preset-env, и я использую цель browsers: defaults.

Предустановка NextJS поставляется с @babel/plugin-proposal-object-rest-spread в массиве плагинов, мне интересно, почему я получаю сообщение об ошибке при тестировании на краю, которое говорит Expected identifier, string or number, и при поиске ошибки в скомпилированном JS я вижу это происходит, когда {...t} происходит.

Вот мой babel.config.js:

module.exports = {
  presets: [
    [
      'next/babel',
      {
        '@babel/preset-env': {
          targets: {
            browsers: 'defaults'
          },
          useBuiltIns: 'usage'
        }
      }
    ]
  ],
  plugins: [
    '@babel/plugin-proposal-optional-chaining',
    '@babel/plugin-proposal-nullish-coalescing-operator',
    ['styled-components', { ssr: true, displayName: true, preprocess: false }],
    [
      'module-resolver',
      {
        root: ['.', './src']
      }
    ]
  ],
  env: {
    development: {
      compact: false
    }
  }
};

Любая помощь по этому вопросу будет принята с благодарностью!

Ответы [ 2 ]

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

В конце концов, моя проблема была связана с пакетом, который не доставлялся babel.Мое решение состояло в том, чтобы использовать плагин NextJS ' next-transpile-modules , чтобы заставить babel преобразовывать код пакета во что-то, что будет работать в нужных мне браузерах.

Вот пример моего NextJSКонфигурация webpack с пакетом, который мне нужен, указан:

const withTM = require('next-transpile-modules');

module.exports = withTM({
  transpileModules: ['swipe-listener']
});
0 голосов
/ 03 июля 2019

SCRIPT1028: Ожидаемый идентификатор, строка или число Ошибка может возникнуть в 2 ситуациях.

(1) Эта ошибка вызывает триггер, если вы используете запятую после последнего свойства в объекте JavaScript.

Пример:

var message = {
    title: 'Login Unsuccessful',
};

(2) Эта ошибка вызывает триггер, если вы используете зарезервированное слово JavaScript в качестве имени свойства.

Пример:

var message = {
    class: 'error'
};

Решение - передать значение свойства класса в виде строки. Однако вам потребуется использовать скобочную запись для вызова свойства в вашем скрипте.

Справка:

ОШИБКА: SCRIPT1028: Ожидаемый идентификатор, строка или номер

...