我正在构建一个NW.js应用程序,目前有babel-standalone和React。我可以使用ES6导入,但另一方面ES6导出不起作用,控制台吐出unexpected token export
。发生了什么事?
的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>
(是的,Babel确实有效,因为里面的React内容运行正常)
在app.js中:
import Lib from "./script/lib.js";
(它确实正确地导出了lib.js,因为那是导致错误的文件)
在script / lib.js中:
export default class {...};
我知道我可以使用Node模块,甚至可以使用HTML脚本加载,但这不是重点。我想知道为什么export
不起作用,即使Babel似乎没有被破坏,甚至import
也能正常工作。
答案 0 :(得分:1)
问题是Babel没有看到通过require
加载的文件,并且它们按原样加载,没有转换。
有几种方法可以解决这个问题,但最简单的方法是在构建步骤中使用Babel。
处理源代码,然后加载已处理的代码nw.js
环境。您可以在this boilerplate project