node.js - 压缩 Node App 并让依赖项开箱即用

标签 node.js npm jestjs

我创建了一个 Node 应用程序,它依赖于仅用于运行测试的依赖项 (Jest)。

我想压缩这个应用程序并在另一台安装了 Node 的计算机上运行它及其测试。

我的 package.json 包括

“脚本”:{ “测试”:“开 Jest ” },

jest 包含在应用程序的 npm_modules 文件夹中。

测试在开发应用程序的机器上完美运行。然而,在解压 zip 并在另一台计算机上运行时,我收到一条错误,指出 jest 未找到。

然后,我重新安装了没有“--save-dev”的 jest,并将其安装用于生产用途,认为这可以解决错误,但事实并非如此。

我认为拥有 npm_modules 并使用“npm install”的意义在于,应用程序的依赖项都可以本地化和可移植,即主机不必单独安装模块。

有什么办法可以解决这个问题吗?谢谢!

最佳答案

根据"scripts": { "test": "jest"},您已在源计算机上全局安装了jest。将其更改为 "scripts": { "test": "node_modules/.bin/jest"},

关于node.js - 压缩 Node App 并让依赖项开箱即用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504316/

相关文章:

javascript - enzyme 模拟提交表单,无法读取未定义的属性 'value'

reactjs - Jest 在尝试导入组件时抛出错误 Unexpected token function

javascript - 每个 npm 安装都会发生此错误 : "npm ERR! Cannot read property ' resolve' of undefined. "

javascript - 仅对当前文件夹运行 Jest 测试

node.js - 使用 Node 运行 .vbs 脚本

javascript - CSS 应该包含在 NPM 组件库中还是手动加载?

node.js - 在 Heroku 中找不到模块 'phantomjs'

meteor - `npm install` 是否与 Meteor 1.3 中的 `meteor npm install` 相同?

node.js - 在 Sequelize 上使用 BELONGSTOMANY 或 HASMANY 的问题

javascript - Expressjs - 如何为每个请求获取 '/' 路由?