Node.js web应用程序版本控制签入和共享
我知道这不一定是一个“伟大”的问题,但我不知道还能从哪里找到答案。。。(如果有,请在评论中告诉我!) 我正在开发一个web应用程序,它甚至不将Node.js用作web服务器,而是严格地执行构建工具。所以,我使用NPM安装grunt、cssmin、一些测试工具和其他东西。在这一点上,我在安装阶段不时地使用-g('global'),但实际上并不知道有什么更好的方法,因为我是Node的新手,有时说明书会告诉我如何做 现在,我正处于对代码库进行初始签入的阶段。理论上,另一个开发人员可以“检查”并使用它运行。但这就是我困惑的地方 我怎么。。。概括我所有的Node.js都可以移植吗?理想情况下,其他开发人员只需安装Node(如果他们还没有),在命令行中键入Node.js web应用程序版本控制签入和共享,node.js,Node.js,我知道这不一定是一个“伟大”的问题,但我不知道还能从哪里找到答案。。。(如果有,请在评论中告诉我!) 我正在开发一个web应用程序,它甚至不将Node.js用作web服务器,而是严格地执行构建工具。所以,我使用NPM安装grunt、cssmin、一些测试工具和其他东西。在这一点上,我在安装阶段不时地使用-g('global'),但实际上并不知道有什么更好的方法,因为我是Node的新手,有时说明书会告诉我如何做 现在,我正处于对代码库进行初始签入的阶段。理论上,另一个开发人员可以“检查”并使用它运
grunt dist
,它就会为他们构建所有的分发文件。但很明显,除非他们碰巧已经安装了所有合适的工具,否则情况就不会是这样了
我认为这可能是我今后必须做的事情,但我想了解一些关于最佳实践的见解或建议:
npm install
,从理论上讲,它应该用本地实例Node.js“注册”依赖项?(这是我不确定的部分)grunt dist
的操作,并且grunt任务应该按预期运行这听起来合理吗?有没有其他我遗漏的因素?你说得对,请注意下一个开发人员的步骤3,他不是在
npm install
中注册依赖项,他实际上是在安装所有依赖项。我的意思是,他正在将您已经注册到package.json
中的所有所需文件下载到npm_modules
文件夹中。您还应该记住将您的node\u modules
文件夹添加到.gitignore
文件中(或者将其添加到您使用的任何源代码管理的忽略文件列表中)。谢谢,Gepser。我假设我将签入node_模块,这样开发者就可以保证使用与签入的相同的版本。这是一个错误的假设吗?也就是说,node会使用本地node_模块而不是下载它们吗?有趣的是,您可以查看node_模块
文件夹。通常,package.json
文件会保存您需要的软件包的确切版本,您只需安装npm即可。npm安装所做的一切就是将依赖项下载到node\u modules
文件夹中,因此如果您决定将其签入,其他开发人员不需要npm安装
。也许您想阅读此答案(2天前)关于全局和本地包如何工作@Patosai,如果其他开发人员能够获得确切的版本,这实际上让我重新考虑!我一直在想象他们会得到“最新”版本。此时签入本地存储库的唯一其他原因是,您不必依赖于存储库保持可用(就连接性以及让包保持在线而言)。