NW.js + Babel:ES6 导入有效但无法导出?
NW.js + Babel: ES6 import working but not export?
我正在构建一个 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 脚本加载,但这不是重点。我想知道为什么即使 Babel 似乎没有损坏,export
也不起作用,甚至 import
也能正常工作。
问题是 Babel 看不到通过 require
加载的文件,它们按原样加载,没有转换。
有多种方法可以解决这个问题,但最简单的方法是在构建步骤中使用 Babel。
处理您的源代码,然后加载处理后的代码 nw.js
环境。您可以在 this boilerplate project
找到如何操作的示例
我正在构建一个 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 脚本加载,但这不是重点。我想知道为什么即使 Babel 似乎没有损坏,export
也不起作用,甚至 import
也能正常工作。
问题是 Babel 看不到通过 require
加载的文件,它们按原样加载,没有转换。
有多种方法可以解决这个问题,但最简单的方法是在构建步骤中使用 Babel。
处理您的源代码,然后加载处理后的代码 nw.js
环境。您可以在 this boilerplate project