Tag: 版本化

用restify进行版本控制的最佳文件夹结构

我正在制作一个Restful API,并且在具有Restify的Nodejs中有以下文件夹结构: – controllers — example.js – models – routes — example.js – server.js 处理不同版本的最佳解决scheme是什么,我在想: 1)基于文件夹结构 – controllers — v1.0 — example.js — v2.0 — example.js – models – routes — v1.0 — example.js — v2.0 — example.js – server.js 但是,有了这个解决scheme,我必须拥有所有的控制器和路由重复,如果一个控制器没有改变,我必须有一个副本在正确的版本文件夹 2)在控制器代码中有不同版本的每个函数,并发送req版本以获得正确的function。 我希望你能够明白。

npm包版本结构中的“rc”是什么?

我想知道2.2.0-rc.0的rc是什么2.2.0-rc.0 。 这是否意味着它的生产准备好了?

如何更新运行的Node.js服务器?

据我所知,Node.js服务器基本上是一个JavaScript文件,由node可执行文件运行。 有没有可能在不停止请求处理的情况下更新这个文件? 我猜这个节点的可执行文件必须停止,所以我想我应该使用一个反向代理。 例如: 原始服务器版本侦听localhost:50001 代理服务器在webinterface:80上侦听请求,并将它们转发到localhost:50001 新的服务器版本应该在localhost:50002上启动 代理服务器转发目标应该更改为localhost:50002 原始的服务器版本应该停止 这是一个有效的方法吗? 如何在多台服务器上自动完成版本更新(可从同一个局域网访问)?

“npm update”是在“npm install”之后安装的稳定版本上安装模块的beta版本,

目前npm包mongoose在版本3.8.12上。 运行npm install mongoose –save正确安装版本3.8.12并将依赖关系保存到package.json,如下所示: "dependencies": { "mongoose": "^3.8.12" } 如果你看看node_modules/mongoose/package.json你可以看到安装的版本确实是3.8.12。 但是,如果我现在运行npm update那么npm将继续,并安装一个不稳定版本的mongoose(3.9.0)。 我认为这是因为依赖项条目中的脱字号,告诉npm继续升级小版本(即3.8到3.9)。 这很好,除了我不想要任何预发布版本。 如果我修改依赖关系并删除脱字符,那么npm update按预期工作,除了当然我现在必须手动升级依赖项版本,即使是次要和补丁更新。 你可以从运行npm info mongoose看到他们有一个“最新”标签和一个“不稳定”标签。 所以很明显npm install使用最新的,除非另有说明,而npm update则完全忽略了标签,并抓住了它所知道的最新次要版本。 有没有办法修改依赖,所以npm update将拉入最新的次要版本,但忽略任何预发行版本? UPDATE 如果我尝试使用3.xx作为依赖项,则会出现同样的问题。 我希望这仍然可以让我通过小版本升级没有预发布版本,但事实并非如此:/ 蒂尔德( ~3.8.12 )在技术上~3.8.12但是它是一个绷带。 “工作”的唯一原因是因为引入的重大更改是3.9.0-unstable并且代字号不允许npm跨小版本升级。 如果这些“不稳定的”变化在3.8.13-unstable中引入,那么即使在使用代字号时也会出现同样的问题。 更新2 我也尝试手动指定“最新”标签: ^3.8.12-latest 。 这并没有改变任何东西; npm update完全忽略标记,即使它明确地在依赖列表本身:/