除了一个软件包(mocha)以外,有没有办法删除“ node_modules”?

时间:2019-08-05 22:27:06

标签: javascript node.js heroku webpack mocha

在Heroku上部署应用程序后,我想删除systemctl start httpd.service 文件夹,同时希望单元测试能够正常工作。

我尝试在node_modules的{​​{1}}脚本上添加node_modules的删除。它可以正常工作,但是我的heroku-postbuild脚本失败了,因为他们找不到package.json模块。

据我所知,这些脚本是并行运行的,因此删除"test"mocha脚本中也不会起作用。您是否有解决此问题的方法?

node_modules

更多信息:

我要删除它,因为它的大小。每次部署后,我都会收到一条Heroku警告,提示已超过子弹大小。该文件夹占用了200MB以上的空间。而且,在部署后,我不需要"test",因为我的应用是使用Webpack捆绑的。我唯一的问题是,在运行单元测试时,我需要从"heroku-postbuild": "npm run build && del-cli ./node_modules/* ", "test": "mocha -r source-map-support/register ./dist/tests.js" 获得的唯一软件包是node_modules

1 个答案:

答案 0 :(得分:0)

  

我要删除它,因为它的大小。每次部署后,我都会收到一条Heroku警告,提示已超过子弹大小。该文件夹占用了200MB以上的空间。而且,在部署后,我不需要node_modules,因为我的应用是使用Webpack捆绑的。我唯一的问题是,在运行单元测试时,我需要从node_modules/获得的唯一软件包是mocha

在这种情况下,您的大多数依赖项实际上不是dependencies,而是devDependencies

如果将mocha保留在dependencies中,并将其他所有内容移至devDependencies,则无需做任何特殊的事情。 Heroku prunes devDependencies by default after building your slug