【发布时间】:2020-09-21 18:19:00
【问题描述】:
是否可以从模块中导入某些内容,然后在 Deno 命令提示符下使用它?如果没有,我可以使用其他技巧来调试模块吗?
我正在尝试做的事情:
[phil@joey-mousepad ~/deno]$ deno
Deno 1.3.3
exit using ctrl+d or close()
> import { myFunction } from "./MyLibrary.js";
Uncaught SyntaxError: Cannot use import statement outside a module
at evaluate (rt/40_repl.js:60:36)
at replLoop (rt/40_repl.js:160:15)
>
这在我的主程序中运行良好:
import { myFunction } from "./MyLibrary.js";
console.log(myFunction(1, “foo”, null));
但是 myFunction() 有一个 bug 什么的。我想快速尝试使用许多不同的输入来运行它来自控制台,而不是编辑我的主程序并一遍又一遍地重新启动 Deno。
目前我正在使用 Deno,但同样的问题也适用于网页中的模块。 (理想情况下,我会在 Deno 程序和网页中重用一些模块!)当我处理网页时,我想从 Chrome 的 JavaScript 控制台访问模块。
Mozilla 承认这个问题,但没有提供解决方案。 “你将无法从 JavaScript 控制台访问它们”https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
【问题讨论】:
-
你可能想搜索 Deno 问题跟踪器。例如。 github.com/denoland/deno/issues/1285, github.com/denoland/deno/issues/2629, (基本上,
from .. import ..必须,根据定义,在 REPL 无法强制执行的任何其他代码之前加载)。但是,您是否尝试过动态导入,它在运行时的任何地方都允许并返回一个承诺?import("./MyLibrary.js").then(... => ...)
标签: javascript deno