If I try to use http-errors is get back on building
✘ [ERROR] Could not resolve "http-errors"
src/index.ts:11:54:
11 │ import {BadRequest, HttpError, MethodNotAllowed} from "http-errors";
╵ ~~~~~~~~~~~~~
You can mark the path "http-errors" as external to exclude it from the bundle, which will remove
this error.
How to include the module properly?
What I did:
$ wrangler init req-test
⛅️ wrangler 2.0.12 (update available 2.0.15)
-------------------------------------------------------
Using npm as package manager.
✨ Created req-test/wrangler.toml
Would you like to use git to manage this Worker? (y/n)
✨ Initialized git repository at req-test
No package.json found. Would you like to create one? (y/n)
✨ Created req-test/package.json
Would you like to use TypeScript? (y/n)
✨ Created req-test/tsconfig.json
Would you like to create a Worker at req-test/src/index.ts?
None
❯ Fetch handler
Scheduled handler
✨ Created req-test/src/index.ts
npm WARN deprecated [email protected]: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
added 60 packages, and audited 61 packages in 12s
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilities
✨ Installed @cloudflare/workers-types and typescript into devDependencies
To start developing your Worker, run `cd req-test && npm start`
To publish your Worker to the Internet, run `npm run deploy`
$ cd req-test
$ npm install --save @types/http-errors
Than use this as src/index.ts
:
import {BadRequest} from "http-errors";
export default {
async fetch(
request: Request,
env: Env,
ctx: ExecutionContext
): Promise<Response> {
throw new BadRequest();
return new Response("Hello World!");
},
};
Try starting the worker with
$ wrangler dev
⛅️ wrangler 2.0.12 (update available 2.0.15)
-------------------------------------------------------
⬣ Listening at http://localhost:8787
✘ [ERROR] Could not resolve "http-errors"
src/index.ts:2:25:
2 │ import {BadRequest} from "http-errors";
╵ ~~~~~~~~~~~~~
You can mark the path "http-errors" as external to exclude it from the bundle, which will remove
this error.
✘ [ERROR] Build failed with 1 error:
src/index.ts:2:25: ERROR: Could not resolve "http-errors"
If you think this is a bug then please create an issue at https://github.com/cloudflare/wrangler2/issues/new/choose