【问题标题】:babel relay plugin - es6 configurationbabel 中继插件 - es6 配置
【发布时间】:2016-05-26 22:49:10
【问题描述】:

我正在做一个全是 es6 的测试应用程序......我在使用这个插件时遇到了一个问题......文档说使用它来配置插件并且它可以工作:

var getBabelRelayPlugin = require('babel-relay-plugin');
var schemaData = require('../data/schema.json').data;
module.exports = getBabelRelayPlugin(schemaData, {
  abortOnError: true
});

谁能告诉我为什么这个语法不起作用?

"use strict";

import getBabelRelayPlugin from 'babel-relay-plugin';
import schemaData from '../data/schema.json';

export default getBabelRelayPlugin(schemaData.data, {
  abortOnError: true
});

谢谢

【问题讨论】:

    标签: ecmascript-6 babeljs relayjs


    【解决方案1】:

    在第一种情况下,要使用标准 CommonJS require 导入您的插件,您可以这样写:

    var myBabelRelayPlugin = require('./myBabelRelayPlugin.js');
    

    但是在 ES6 的情况下如果你的模块被 Babel 6 转译,你必须在末尾添加.default

    var myBabelRelayPlugin = require('./myBabelRelayPlugin.js').default;
    

    很可能 Babel 在加载插件时没有尝试添加 .default,因此它无法正确加载插件的 ES6 版本。

    【讨论】:

    • 感谢您的意见...我在 github 论坛上询问您的答案是否正确,当我收到他们的反馈时,会将其标记为正确答案 :)
    • 这真的是 Babel 题,不是 Relay 题。如果有效则标记为正确?
    猜你喜欢
    • 2017-08-18
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多