我不是在问有关部署Node.js应用程序或如何处理node_modules包的问题,我是在谈论将自己的nodejs代码“上传”到生产服务器。
到目前为止,我已经尝试了3种方法,每种方法各有利弊
git clone 。为了简化为克隆的内容,我使用git clone --depth 1 -b release_branch
。但我仍然得到了我不需要部署的文件,例如,除了.git
我还得到了文档(b / c我将文档放在git repo中)。
npm安装。使用npm install git+https://gitusername:gitpassword@myserver/path/to/repo.git
。使用正确的package.json files
设置,我只能获得我想要的源代码。但是问题是目录结构。运行npm install后,目录如下:
.
├── node_modules
└── package-lock.json
My package is located inside node_modules alongside with its own dependencies.
npm包。然后将tgz文件上传到服务器(在我的情况下为scp),然后npm install tgz_file.tgz --production
,但是npm install git + https也有同样的问题。可能比npm install git+https
b / c我可以控制我的发布要好。
那么还有其他方法(简单)可以使我仅获得正确的目录结构和源代码吗?
顺便说一句,我知道这个nodejs express app deploying to production,但他们的讨论与我的讨论不同。
-----更新-----
现在我可以肯定npm install tarball
出现了一些错误,所以我只是tar xf & npm i
我相信这是最简单的解决方案。