babel relay插件 - es6配置

时间:2016-02-15 21:21:10

标签: ecmascript-6 babeljs relayjs

我正在做一个测试应用程序,这都是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
});

感谢

1 个答案:

答案 0 :(得分:0)

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

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

但是在ES6案例中如果你的模块是由Babel 6 编译的,你必须在最后添加.default

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

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