在生产中找不到模块“worker_threads”错误

Flo*_*uis 5 runtime-error worker node.js typescript

我创建了一个使用工作线程的节点 js 项目。当我在 VS Code 中运行 npm start 时,代码运行良好。但是在Ubuntu服务器中构建和复制时,它显示“找不到模块'worker_threads'”。

在生产中部署带有工作线程的节点 js 时是否需要进行额外的配置?顺便说一下,我是如何在 Ubuntu 服务器中部署它的。

1.) 由于我的项目是 typecript,我使用 'tsc' 命令编译它 2.) 'tsc' 命令生成了 'build' 文件夹 3.) 我将 package.json 和 package-lock.json 复制到了 'build'文件夹 4.) 压缩“build”文件夹并使用“scp”命令传输到 Ubuntu 服务器 5.) 在 Ubuntu 服务器中,我解压缩“build”文件夹 6.) 我在“build”文件夹中运行“npm install”下载依赖项 7.) 我用'node ./src/main.js'和'pm2 start ./src/main/js'运行我的程序无济于事

其他没有部署工作线程的项目使用上述过程没有问题。

提前致谢!

小智 14

也许你的 node.js 版本低于 12.x。10.5 之后支持工人。尝试将其添加到您的 package.json 中。

"scripts": {
    "start": "node --experimental-worker ./src/main.js"
}
Run Code Online (Sandbox Code Playgroud)

  • 我在 Ubuntu 2004 上有较旧的 NodeJS 版本 - 我删除了 apt 安装的版本并使用 snap 安装了最新的 NodeJS (3认同)

Joe*_*Joe 6

在我的 Glitch 站点中,我可以通过将以下内容添加到我的 package.json 来解决此问题:

  "engines": { "node": "16.x" }
Run Code Online (Sandbox Code Playgroud)