【问题标题】:Can't use spread operator不能使用扩展运算符
【发布时间】:2016-12-27 09:47:47
【问题描述】:

我尝试在我的一个 js 文件中使用扩展运算符,但出现错误。这就是我的 webpack 配置文件的样子,即只有模块部分。

module: {
        loaders: [
          {
              test: /\.jsx?$/,
              exclude: /(node_modules|bower_components)/,
              loader: 'babel',
              query: {
                  presets: ['react', 'es2015']
              }
          }
        ]
    }

我想,我遇到了问题,因为传播仍处于提案阶段。我需要做什么才能在我的项目中使用扩展运算符?

更新: 以下是我的使用方法:

import * as actions1 from './someActions';
import * as actions2 from './moreActions';

export {
   ...actions1,
   ...actions2
};

这是错误信息:

【问题讨论】:

  • 请发布您的错误,以及您如何使用扩展运算符的小sn-p。
  • 这是意外的令牌错误 - 请参阅原始帖子中的更新
  • ... is not an operator。一旦你明白你不会在任意位置使用它。

标签: javascript webpack ecmascript-6 babeljs


【解决方案1】:

对于通用对象,另一个答案是正确的,但对于您发布的代码,答案是您不能获取对象的所有道具并将其导出为命名导出。导出的所有名称都必须在不执行模块代码的情况下是已知的。

import * as actions1 from './someActions';
export {...actions1};

不可能。但是你可以这样做

export * from './someActions';

someActions(不包括default)获取所有命名导出,然后重新导出为根文件中的命名导出。

【讨论】:

    猜你喜欢
    • 2020-10-21
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多