During wrangler deploy to Cloudflare node.js application, I get an error
ERROR: Could not resolve "worker_threads"
build/worker.js:42155:29:
42155 │ var { Worker } = require("worker_threads");
My wrangler.toml file
name = "my-worker"
main = "build/worker.js"
compatibility_date = "2023-07-05"
account_id = "01111111111111111"
node_compat = true
[triggers]
crons = [ "0 0 1 1 *" ]
[build]
command = "npm run build"
My package.json file
{
"name": "my-worker",
"version": "0.0.0",
"main": "build/worker.js",
"node": "18.11.18",
"devDependencies": {
"@cloudflare/workers-types": "^4.20230518.0",
"rollup-plugin-node-polyfills": "^0.2.1",
"wrangler": "3.1.1"
},
"private": true,
"scripts": {
"start": "wrangler dev",
"build": "npx esbuild ./src/index.ts --bundle --platform=node --external:node:* --outfile=build/worker.js",
"deploy": "wrangler deploy"
},
"dependencies": {
"@rollup/plugin-inject": "^5.0.3",
"@tsndr/cloudflare-worker-jwt": "^2.2.1",
"@types/node": "^18.11.18",
"itty-router": "^4.0.14",
"toucan-js": "^3.1.0",
"ts-node": "^10.0.0"
}
}
To fix the problem, I tried to install the polyfill https://github.com/ionic-team/rollup-plugin-node-polyfills/ Change node version Change version of "@cloudflare/workers-types" Change version of "@types/node" and "ts-node" Deleted and reinstalled the node_modules folder