如何在 Deno 中引入私有 npm 模块
· 阅读需 18 分钟
这篇文章我们会来讨论一下如何在 Deno 中引入私有的 npm 模块。如果还不了解 deno 背景的童鞋可以先到官网 ( https://deno.land ) 了解一下。 也可以通过这篇讲 Deno 是什么? 的文章了解一下一下 Deno 出现的背景。
Deno 默认的 import 用 法
Deno 官方对于模块的说明:
https://deno.land/manual@v1.28.2/basics/modules#modules
原文引用
Modules Concepts
- import allows you to include and use modules held elsewhere, on your local file system or remotely.
- Imports are
URLs
orfile system paths
. - export allows you to specify which parts of your module are accessible to users who import your module.
意思是,引用其他模块提供 URL
或者 file system paths
两种方式。
- URL
import { add, multiply} from "https://x.nest.land/ramda@0.27.0/source/index.js";
- file system paths
import { add, multiply } from "./arithmetic.ts";
我们可以理解为:
URL
指向了引用的远程代码模块file system paths
指向了一个相对地址的模块,通常是本地的其他代码,当然,远程的代码模块中也是可以有相对地址引用。
Deno 中实现简单 HTTP Server
例如我们来实现一个简单的 HTTP Web Server。
// webserver.ts
// 模块以 URL 的形式导入
import { serve } from "https://deno.land/std@0.166.0/http/server.ts";
const port = 8080;
const handler = (request: Request): Response => {
const body = `Your user-agent is:\n\n${
request.headers.get("user-agent") ?? "Unknown"
}`;
return new Response(body, { status: 200 });
};
console.log(`HTTP webserver running. Access it at: http://localhost:8080/`);
await serve(handler, { port });