babel 中继插件 - es6 配置
babel relay plugin - es6 configuration
我正在做一个全是 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
});
谢谢
在第一种情况下,要使用标准 CommonJS require
导入您的插件,您可以这样写:
var myBabelRelayPlugin = require('./myBabelRelayPlugin.js');
但是在 ES6 的情况下 如果你的模块是由 Babel 6 转译的,你必须在末尾添加 .default
:
var myBabelRelayPlugin = require('./myBabelRelayPlugin.js').default;
很可能 Babel 在加载插件时没有尝试添加 .default
,所以它无法正确加载你的插件的 ES6 版本。
我正在做一个全是 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
});
谢谢
在第一种情况下,要使用标准 CommonJS require
导入您的插件,您可以这样写:
var myBabelRelayPlugin = require('./myBabelRelayPlugin.js');
但是在 ES6 的情况下 如果你的模块是由 Babel 6 转译的,你必须在末尾添加 .default
:
var myBabelRelayPlugin = require('./myBabelRelayPlugin.js').default;
很可能 Babel 在加载插件时没有尝试添加 .default
,所以它无法正确加载你的插件的 ES6 版本。