如何在deno中使用local node / npm模块?

628mspwn  于 9个月前  发布在  Node.js
关注(0)|答案(1)|浏览(98)

我有一个带有Nextjs和supports的monorepo项目。我想为类型和模式定义构建一个共享模块,并在Nextjs和supports代码库中使用。我可以很容易地在节点项目中使用本地模块,比如使用npm install ../libimport { X } from "myApp-lib"的Nextjs,前提是lib/package.json声明"name": "myApp-lib"
如何以类似的方式使用deno中的本地节点模块?

目录结构

myApp/
  client/
   src/
     components/
       - contact.tsx # schema consumer

  supabase/
    functions/
      email_new_query/
        - index.ts # Deno module, schema consumer - how to?

  lib/
    dist/
      index.js # schema provider / exporter
      index.d.ts # types definations

字符串

n3schb8v

n3schb8v1#

首先,使用esbuildwebpack将Node.js代码捆绑到一个使用ES模块的JavaScript文件中。

esbuild index.js --bundle --outfile=dist/bundle.js --format=esm

字符串
然后,您必须将模块托管在Deno中的某个地方才能使用它们。如果使用一些实时服务器,您可以提供Deno可以从中导入模块的URL。

import { X } from "http://localhost:8000/path/to/your/bundle.js";


你也可以在其他地方托管它,然后在deno中使用:

import { X } from "https://yourhost.com/path/to/your/bundle.js";

相关问题