Home > Net >  How to export deps in DENO?
How to export deps in DENO?

Time:01-22

I would like to know how I can export npm modules as express For example, I have the following import, it works fine and the linter does not show any errors:

import express, { Request, Response } from 'npm:express';

however when taking it to my deps.ts I get the following error:

export express, { Request, Response } from 'npm:express';

Error:

';' expected.

try to separate it but it gives another error:

export express from 'npm:express'; export { Request, Response } from 'npm:express';

Error:

Unexpected keyword or identifier

Then try the following:

import express from 'npm:express'; export { Request, Response } from 'npm:express'; export { express };

but i get the following error:

Uncaught SyntaxError: The requested module 'npm:express' does not provide an export named 'Request' export { Request, Response } from 'npm:express';

and I don't know how to solve it, I hope you can help me, I don't want to use a default import in my app.ts file, I hope you can help me

CodePudding user response:

The default export from the express package is a function, but Request and Response are type interfaces.

When exporting types, you should use the type modifier, like this:

./deps.ts:

export { default as express, type Request, type Response } from "npm:express";

Then, those exported dependencies can be imported into another module like this:

./mod.ts:

import { express, type Request, type Response } from "./deps.ts";

console.log("typeof express:", typeof express); // typeof express: function

You can then run the mod.ts module in the terminal and see this output:

% deno --version
deno 1.29.4 (release, x86_64-apple-darwin)
v8 10.9.194.5
typescript 4.9.4

% deno run --allow-env --allow-read mod.ts
typeof express: function
  • Related