node.js - 在生产中找不到模块“worker_threads”错误
问题描述
我创建了一个使用工作线程的节点 js 项目。当我在 VS Code 中运行 npm start 时,代码运行良好。但是在 Ubuntu 服务器中构建和复制时,它显示“找不到模块 'worker_threads'”。
在生产中使用工作线程部署节点 js 时是否必须进行其他配置?顺便说一下,我如何在 Ubuntu 服务器中部署它。
1.) 因为我的项目是打字稿,所以我使用 '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'运行我的程序无济于事
使用上述过程部署没有工作线程的其他项目没有问题。
提前致谢!
解决方案
也许您的 node.js 版本低于 12.x。10.5 之后支持工人。尝试将此添加到您的 package.json 中。
"scripts": {
"start": "node --experimental-worker ./src/main.js"
}
推荐阅读
- apache-kafka - Confluent Replicator 为同一个集群复制配置模式注册表
- c# - 如何设置程序集的PublicKeyToken
- firebase - 我想让这个函数读取“isComplet”的firestore值,并且当“isComplet”为假时只减去10个单位。我该怎么做?
- azure - 如何在 Application Insights 中获取每个函数应用的详细信息
- python - 如何在python中的元素内的列表中查找匹配项
- visual-studio - 我无法在 Visual Studio 上运行我的 android 模拟器,这可能是什么问题?
- c# - YamlDotNet 反序列化接口列表
- azure-cosmosdb - Cosmos 数据库将在 pull 方法 + 文件中进行索引
- spring-boot - rsocket-js 路由 fireAndForget 到 Spring Boot @MessageMapping
- java - Hibernate 验证器触发偶数字段不违规