当前位置: 首页 > 面试题库 >

如何在Windows上部署具有深层node_modules结构的Node.js应用程序?

谷森
2023-03-14
问题内容

我遇到了一个奇怪的问题-显然,某些Node.js模块的 文件夹层次结构 如此之 ,以至于Windows复制命令(或Copy- Item我们实际使用的PowerShell 就是PowerShell的)在路径超过250时遇到了臭名昭著的“路径过长”错误字符长。

例如,这是一个单个Node模块可以创建的文件夹层次结构:

node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...

看起来很疯狂,但对于Node模块却是现实。

我们需要在部署期间使用复制粘贴(我们没有使用像Heroku这样的“聪明”目标平台,可以选择进行Git部署),这在Windows上是一个严重的限制。

是否没有npm命令或可以压缩node_modules文件夹或仅包含运行时实际需要的内容的命令?(节点模块通常包含test文件夹等,我们不需要部署。)还有其他解决方法吗?不幸的是,不使用Windows不是一种选择:)


问题答案:

npm
v3(最近发布)通过拉平依赖性来解决此问题。.在以下部分的https://github.com/npm/npm/releases/tag/v3.0.0中查看发行说明flat flat

还有关于这个问题的最后评论https://github.com/npm/npm/issues/3697



 类似资料:
  • 问题内容: 使用此处概述的步骤成功部署测试应用程序之后:http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_flask.html 我尝试部署具有以下结构的实际flask应用程序: 其中包含我的网址映射。 我尝试在根目录以及模块中初始化实例,但是在AWS仪表板上收到以下错误: 应用程序无法正常工作(

  • 问题内容: 我有一个dist文件夹,其中包含CSS,字体,JS文件夹和一个针对Vue.js最小化的文件,可以部署和使用。我想使用Node.js运行此应用程序。 如何将其设置为仅运行并将其部署在请求的特定端口上?不知道如何构建它,或者不确定是否需要以特定方式构建它以运行此Vue应用程序。任何帮助将不胜感激。 问题答案: 由于Vue只是一个前端库,因此托管它和执行诸如提供资产之类的最简单方法是创建一个

  • 本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议 servlet 容器支持这种结构作为运行时表示形式,但不是必须的.

  • 使用以下步骤成功部署测试应用程序后:http://docs.aws.amazon.com/ellasticbeanstalk/latest/dg/create_deploy_python_flask.html 我尝试部署实际的flask应用程序,该应用程序具有以下结构:

  • 我最近使用Play 2.3.4创建了一个小型web应用程序。它在本地运行良好,所以现在我想在Windows Azure上运行它。 到目前为止,我已经按照本指南使用Azure应用程序库创建了一个Java网站http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-get-started/.我选择的服务器是Apache

  • 问题内容: 说我有这段代码来分隔expressjs中的路由: 并要求在: 1)如何以最佳方式将数据库查询分为新文件? 即使我分开数据库逻辑,该文件也会变得很大。 2)什么是分隔路线的好方法?也许是单独的模块?然后要求他们都参加? 问题答案: 这里有一个类似的问题,您应该阅读:如何构建express.js应用程序? 1)您所有的查询逻辑都应放在模型中(例如,位于/ models中的模块) 2)将您的