babel 中继插件 - es6 配置

Posted

技术标签:

【中文标题】babel 中继插件 - es6 配置【英文标题】:babel relay plugin - es6 configuration 【发布时间】: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
);

谢谢

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

感谢您的意见...我在 github 论坛上询问您的答案是否正确,当我收到他们的反馈时,会将其标记为正确答案 :) 这真的是 Babel 题,不是 Relay 题。如果有效则标记为正确? 在***.com/questions/33505992/…有更多信息

以上是关于babel 中继插件 - es6 配置的主要内容,如果未能解决你的问题,请参考以下文章

babel配置文件.babelrc

Babel 转码器 § es6转换es5

如何使用 babel

vue-cli中的babel配置文件.babelrc详解

Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探

sublime3 支持jsx es6语法