【问题标题】:NW.js + Babel: ES6 import working but not export?NW.js + Babel:ES6 导入工作但不能导出?
【发布时间】:2017-04-05 03:59:54
【问题描述】:

我正在构建一个 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,因为这是导致错误的文件)

在脚本/lib.js 中:

export default class {...};

我知道我可以改用 Node 模块,甚至可以使用 HTML 脚本加载,但这不是重点。我想知道为什么export 不工作,即使 Babel 似乎没有被破坏,甚至 import 工作正常。

【问题讨论】:

    标签: javascript node.js ecmascript-6 babeljs nw.js


    【解决方案1】:

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

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

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

    【讨论】:

    • 这或许可以解释我的烦恼。我想知道其他解决方法是什么,因为 babel-standalone 在开发中非常舒适,我现在不想处理 Gulp 或 Webpack。
    猜你喜欢
    • 2016-08-27
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多