【发布时间】:2018-05-22 03:59:40
【问题描述】:
我正在使用 Electron 2(用于 Chromium 61+)和服务器端的 esm shim 从 ES6 模块构建棋盘游戏。这是我第一次编写同构 JavaScript,更不用说 ES6 模块了;我打算能够以单人模式在客户端运行游戏逻辑,并以网络游戏模式在服务器上运行。到目前为止一切顺利,我很高兴报告!不依赖任何繁重的转译器是令人满意的。
不过,现在我有一个问题:我打算在客户端和服务器上使用来自Immutable JS 的类型,我只知道如何将它们导入服务器代码。到目前为止,同构代码中的所有 import 语句都引用了应用程序中的其他 JS 模块,而不是来自 npm 的依赖项。如下所示的模块会在应用加载时在客户端中导致“Uncaught TypeError: Failed to resolve module specifier 'immutable'”运行时错误:
import Immutable from "immutable";
Immutable.List.of([]);
export { foo: {} };
事实上,我几乎可以肯定 import 语句失败了,因为 Chromium 无法将“不可变”解析为 JS 文件。但是我该怎么解决呢?有没有一种方法可以解决它,它适用于任何编写为同构的节点模块?
【问题讨论】:
标签: electron es6-modules