2016-11-21 82 views
0

我正在构建一个NW.js应用程序,目前有babel-standalone和React。我可以使用ES6导入,但另一方面ES6导出不起作用,控制台吐出unexpected token export。这是怎么回事?NW.js + Babel:ES6导入工作但不导出?

的index.html:

<html> 
<head> 
    <meta charset="utf-8"> 
    <script src="assets/react.min.js" charset="utf-8"></script> 
    <script src="assets/react-dom.min.js" charset="utf-8"></script> 
    <script src="assets/babel.min.js" charset="utf-8"></script> 
</head> 
<body> 
    <script type="text/babel" src="script/App.js"></script> 
</body> 
</html> 

(是的,确实通天工作,因为阵营里面的东西运行正常)

在app.js:

import Lib from "./script/lib.js"; 

(和它的出口确实lib.js正确,因为这是导致错误的文件)

在script/lib.js中:

export default class {...}; 

我知道我可以使用Node模块来代替,或者甚至是HTML脚本加载,但那不是重点。我想知道为什么export不起作用,即使巴别似乎没有被打破,甚至import工作正常。

回答

1

问题是Babel没有看到通过require加载的文件,并且它们按原样加载,没有转译。

可以有几种方法来解决这个问题,但最简单的方法是在构建步骤中使用Babel。

处理您的源代码,然后加载处理后的代码nw.js环境。示例如何做到这一点,你可以在this boilerplate project

+0

这可能解释我的麻烦。我想知道其他解决方法是什么,因为babel-standalone在开发中非常舒适,我现在不想处理Gulp或Webpack。 – Rafael