调试依赖项以单位表示

编程入门 行业动态 更新时间:2024-10-07 09:27:08

调试依赖项以<a href=https://www.elefans.com/category/jswz/34/1768861.html style=单位表示"/>

调试依赖项以单位表示

Node + NPM在node_modules中安装依赖项,因此,如果要调试依赖项,我可以转到node_modules/some-pkg/some-file.js并添加调试器语句,控制台日志等。

在Deno中,事情变得更加棘手,因为依赖项是从用户中抽象出来的-它不再是普通的本地JS文件了!例如,如果我有以下代码:

// main.js
import oaClient from '/oa-client';
const { createClient } = oaClient;
createClient();

它将输出堆栈跟踪:

nino@hp:~/learning/deno(master)$ deno run main.js 
error: Uncaught TypeError: Cannot read property 'paths' of undefined
  for (var path in specs.paths) {
                         ^
    at _default (/-/[email protected]/dist=es2019/oa-client.js:428:26)
    at file:///home/nino/learning/deno/main.js:3:1

尽管我可以在/-/[email protected]/dist=es2019/oa-client.js在线阅读代码,但不能插入控制台日志或调试器语句。

由于deno info <the URL above>,我可以获取依赖项的缓存副本的本地路径,但我认为用~/.cache/deno编辑文件不是正确的方法。

所以,Deno调试依赖项的方法是什么?

回答如下:这将允许您在依赖项上设置断点,但是这些断点将被转换为JavaScript。在this example中,它的工作方式有所不同。

DENO_DIR设置为项目的根目录:

export DENO_DIR=$PWD

运行脚本。

deno run --allow-net app.ts

app.ts

import { serve } from "https://deno.land/std/http/server.ts"; const s = serve({ port: 8000 }); console.log("http://localhost:8000/"); for await (const req of s) { req.respond({ body: "Hello World\n" }); }

在此示例中,将在此处创建http lib的依赖文件:
$DENO_DIR/gen/https/deno.land/std/http/server.ts.js`

您现在可以使用VS Code创建断点。

如果您需要在VS Code上为Deno配置调试,请在此处遵循我的其他答案:


https://stackoverflow/a/61856774/3231778

更多推荐

调试依赖项以单位表示

本文发布于:2024-05-07 21:44:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757389.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:单位

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!