尝试在我的服务器上运行简单的Deno Js
OAK
中间件服务器时出现错误:
Ubuntu 18.04,
Deno 1.0.4,
v8 8.4.300,
typescript 3.9.2
通过运行deno run index.js
或运行deno run -A index.js
$ deno run index.js
Compile file:///home/some/tst/index.js
error: Uncaught AssertionError: Unexpected skip of the emit.
at Object.assert ($deno$/util.ts:33:11)
at compile ($deno$/compiler.ts:1170:7)
at tsCompilerOnMessage ($deno$/compiler.ts:1338:22)
at workerMessageRecvCallback ($deno$/runtime_worker.ts:72:33)
at file:///home/some/dcode/tst/__anonymous__:1:1
这是我的索引.js文件代码:
import { Application } from "https://deno.land/x/oak/mod.ts";
const app = new Application();
app.use((ctx) => {
ctx.response.body = "Hello World!";
});
await app.listen({ port: 8000 });
将文件类型从 .js 更改为 .ts。
我在Deno中用入门部分中的"复杂程序"介绍我,直到我将文件类型从javascript更改为打字稿,我才能运行该程序。希望对您有所帮助!
这是在v1.0.3
或v1.0.4
中引入的问题:https://github.com/denoland/deno/issues/6082,并且仍在1.0.5
在修复之前,解决方案是将Deno降级为1.0.0
并使用Oak4.0.0
,这是该Deno版本的适当Oak版本。
import { Application } from 'https://deno.land/x/oak@v4.0.0/mod.ts'
要降级 Deno,您可以执行以下操作:
curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.0.0
或者,如果您使用的是 Windows:
$v="1.0.0"; iwr https://deno.land/x/install/install.ps1 -useb | iex