【问题标题】:Babel 7 Unexpected token BugBabel 7 Unexpected token Bug
【发布时间】:2020-08-05 10:08:14
【问题描述】:

从最近 2 小时开始,我收到此错误。令我惊讶的是,我正在使用以下版本的 Node 和 Babel。

Node.js:13.8.0
@babel/cli: ^7.8.4
@babel/核心:^7.9.0
@babel/node": 7.6.3
babel-loader: ^8.1.0

/home/dotsinspace/Documents/dev/app/node_modules/@babel/core/lib/parser/index.js:95
    throw err;
    ^

SyntaxError: /home/dotsinspace/Documents/dev/app/packages/dyna_modules/Cache/index.js: Unexpected token (102:11)

  100 | 
  101 |   // Setter for setting values to cache.
> 102 |   async set({ _id, whatToCache, emit }) {
      |            ^
  103 |     // Error handling.
  104 |     try {
  105 |       // Local variable.
    at Parser._raise (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/error.js:60:45)
    at Parser.raiseWithData (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/error.js:55:17)
    at Parser.raise (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/error.js:39:17)
    at Parser.unexpected (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/util.js:152:16)
    at Parser.parseIdentifierName (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:2310:18)
    at Parser.parseIdentifier (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:2279:23)
    at Parser.parseMaybePrivateName (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:1270:19)
    at Parser.parsePropertyName (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:1944:18)
    at Parser.parsePropertyDefinition (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:1761:14)
    at Parser.parseObjectLike (/home/dotsinspace/Documents/dev/app/node_modules/@babel/parser/src/parser/expression.js:1640:25) {
  loc: Position { line: 102, column: 11 },
  pos: 2474,
  code: 'BABEL_PARSE_ERROR'
}

Babel.config.js

/*
 * EXPORTS
 */
module.exports = __babel => {
  // Use cache.
  __babel.cache(true)

  // Return configuration.
  return {
    'presets': [
      [
        '@babel/preset-env',
        {
          'modules': false
        }
      ]
    ],
    'plugins': [
      '@babel/plugin-proposal-throw-expressions',
      '@babel/plugin-proposal-export-default-from',
      '@babel/plugin-proposal-class-properties',
      'babel-plugin-root-import',
      'dynamic-import-node',
      ['module-resolver', { 'root': ['./', 'packages/*'] }],
      ['@babel/plugin-transform-modules-commonjs', { 'allowTopLevelThis': true }],
      ['@babel/plugin-transform-runtime', { 'regenerator': true }],
      "@babel/plugin-transform-classes",
      "@babel/plugin-syntax-class-properties",
      "@babel/plugin-proposal-partial-application",
      "@babel/plugin-proposal-optional-chaining",
      "@babel/plugin-proposal-nullish-coalescing-operator"
    ],
    'env': {
      'production': {
        'presets': ['minify'],
        'plugins': [
          'transform-remove-console',
          'minify-dead-code-elimination'
        ]
      }
    }
  }
}

它在我安装npm i cuid 后开始发生,现在即使删除和重新安装也无济于事。甚至试图改变我的 babel.config.js 但没有任何效果。如果您有任何想法,请告诉我。

【问题讨论】:

    标签: javascript node.js babeljs babel-loader


    【解决方案1】:

    我过去也遇到过类似的问题。 cuid 可能已经安装了一个已弃用的包作为依赖项,它覆盖了您当前版本的 babel。如果您在全球范围内安装它,则更有可能。 s

    尝试使用

    检测已弃用的包
    npm list babel-core babel-cli babel-node babel-preset-env
    npm list -g babel-core babel-cli babel-node babel-preset-env
    

    注意它缺少@,因为它是旧的命名。如果检测到,更换最新版本就可以了。

    检查此similar thread 作为参考:

    它对我有用。 npm 卸载 -g babel-cli babel-node 然后运行 npm install -g @babel/cli @babel/node

    祝你好运,让我们更新!

    【讨论】:

      猜你喜欢
      • 2019-08-05
      • 1970-01-01
      • 2016-02-12
      • 2016-09-30
      • 2016-06-28
      • 1970-01-01
      • 2016-12-18
      • 2016-12-15
      相关资源
      最近更新 更多