【发布时间】:2019-12-13 11:02:15
【问题描述】:
我想在 Heroku 上部署我的应用程序后删除 node_modules 文件夹,同时我希望我的单元测试能够工作。
我尝试在package.json 中的heroku-postbuild 脚本上添加node_modules 的删除。它工作正常,但是我的 "test" 脚本失败了,因为他们没有找到 mocha 模块。
据我所知,这些脚本是并行运行的,因此将node_modules 的删除放在"test" 脚本中也不起作用。您有解决此问题的方法吗?
"heroku-postbuild": "npm run build && del-cli ./node_modules/* ",
"test": "mocha -r source-map-support/register ./dist/tests.js"
更多信息:
我想删除它,因为它的大小。每次部署后我都会收到 Heroku 警告,提示已超出 slug 大小。该文件夹占用超过 200MB。而且我部署后不需要node_modules,因为我的应用程序是使用Webpack 捆绑的。我唯一的问题是在运行单元测试时,我需要来自node_modules 的唯一包是mocha。
【问题讨论】:
-
欢迎来到 Stack Overflow。为什么在构建后尝试删除
node_modules/?通常,您应该让 Heroku 构建您的依赖项,然后不理会node_modules/。毕竟,您可能需要它在运行时包含的库。 -
感谢您的回复。我想删除它,因为它的大小。每次部署后我都会收到一条警告,提示已超过 slug 大小。该文件夹占用超过 200MB。部署后我不需要“node_modules”,因为我的应用程序是使用 webpack 捆绑的。我唯一的问题是在运行我的单元测试时,我的意思是我需要从 node_modules 获得的唯一包是 mocha。
标签: javascript node.js heroku webpack mocha.js