Tag: 版本控制

版本控制工具nodejs

有不同的应用程序增加版本号的解决scheme。 cocoa应用程序有agvtool,maven有maven-release-plugin ,在版本上增加版本号。 有没有类似的工具nodejs?

如何创build一个自我更新的Node.js应用程序?

我想用Node.js创build一个应用程序,定期检查更新并安装它们(如果有的话)。 基本组件对我来说很清楚: 包含更新包的Web服务器(或FTP服务器,文件系统,…) 一个版本系统(如SemVer),这样你就可以知道哪个包是新的 用于签署更新包的公钥algorithm 那么,何时检查更新和安装更新可能会有不同的策略: 在应用程序启动 在应用程序结束 空闲时 应用程序甚至可能会closures并自动重新启动。 但还有一些问题: npm上是否有任何已经提供这样的系统的模块? 如何在文件系统中组织不同的版本? 基本上你会有一个主机和多个(版本化)的核心。 是否应该有一个data文件夹的所有人? 如何处理npm install &co。 为新下载的包? 如何处理破损的更新? 你怎么能实现这样的事情,以便它与Heroku公司兼容。 你没有永久的驱动器,你可以开车去? 一般来说:你将如何尝试实现这样的系统?

在Node应用程序之间共享代码

我们的应用程序由两个组件组成:API和客户端。 两者都是独立的Node应用程序 尽pipeAPI除了文档之外还没有任何前端组件,它们仍然共享一些常见文件,如Jade组件,规范化CSS,实用程序模块,最重要的是用于MongoDB交互的Mongoose模式和模型定义。 我真的不想习惯于我首先对API进行更改的工作stream程,然后将更改后的文件复制到客户端,反之亦然,所以find一个可行的解决scheme将是非常好的。 跨Node应用程序共享各种代码的最佳方式是什么? 在浏览网页时,我遇到了一些解决scheme,但在这种情况下,他们都没有真正的工作。 一种解决方法是从公共文件中创build一个节点模块,并使其与具有NPM的应用程序保持同步,但是这意味着我(以及未来可能的开发者)必须知道哪些文件是公共模块的一部分,并且需要它们用require('node_modules/mongo/schemas/example.js')代替require('mongo/schemas/example.js') 。 由于假设可能有数百个通用文件,所以不可能记住文件是否通用,特别是对于新的开发者。 另一个解决scheme是制作通用模块的git子模块。 这将是完美的,如果只有我可以包含子模块path的节点的要求path,所以万一没有find所需的文件在预期的位置(例如, mongo/schemas/example.js ),它会看起来在常见的子模块( common/mongo/schemas/example.js )。 这将是非常棒的,因为它将允许覆盖“本地”版本的公共文件。 这有点像Magento的作品。 这里的问题是,Node不允许编辑requirepath(至less,据说在Node 0.5之前是可能的),所以这是一个好消息。 第三种解决scheme是将公共存储库的内容粗暴地合并到应用程序的根目录中。 在这个解决scheme中没有真正不可逾越的问题,但我觉得这是一个不好的做法。 毕竟,这将不可能通过应用程序编辑通用文件,因为没有办法select性地将通用文件推送到通用的git存储库。 所以基本上这个解决scheme只会使工作stream程变得更乏味:对公共文件的所有修改都必须手工复制到公共代码库,然后推送到git remote,然后复制到其他应用程序。 所以这个解决scheme绝对不会为我削减。 看来第二个解决scheme是我唯一的(也是最好的)select,除非你们提出了一个更好的(我真正希望的是:D)。 如果有人知道改变节点需求path的方法,我将非常感激。

如何合并两个分支,并自动忽略特定的文件/文件夹?

我有一个MEAN堆栈项目分为两个分支:离子和节点。 Ionic branch有所有Ionic相关的文件/文件夹。 这里创buildfront-end是为手机和networking设备提供服务。 但是这个分支的Web设备代码不在任何地方。 Node branch有server相关的文件/文件夹。 这个分支将被上传到托pipe应用程序端点,并需要提供公共的前端文件夹。 前端文件夹来自Ionic分支。 我已经阅读了这篇文章,关于将一个提交拆分成单独的提交,所以我们可以忽略其中的一个。 这不能解决问题,因为我有很多不应该合并的文件和文件夹,并且很难在每次合并中将它们全部分开。 我只需要front-end/public/www文件夹合并到节点分支。 我还读了关于这个 , 这个 , 这个以及关于互联网上的Stack和文章的更多相关的问题,但是他们都不能解决我的问题。 我们有一个节点和一个离子分支。 节点分支只需要从Ionic分支只有特定的文件和文件夹。 我们怎么做到这一点? 附录 分支节点示例: ¬ node_modules ¬ routes ¬ www ¬ files/etc 离子型节点例子: ¬ node_modules //this should not merge into Node ¬ hooks //this should not merge into Node ¬ resources //this should not merge into Node […]

node.js版本号如何工作,以及如何确保兼容性?

项目的版本风格是什么?

n模块打破npm

从n个模块切换到另一个node.js版本后 – https://github.com/visionmedia/n/ ,我的npm坏了… MacBook-Pro-Dmitri:~ dmitri$ npm –version module.js:340 throw err; ^ Error: Cannot find module 'npmlog' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:362:17) at require (module.js:378:17) at /usr/local/bin/npm:19:11 at Object.<anonymous> (/usr/local/bin/npm:87:3) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 那么我再次安装npm,因为它是在这里build议 – https://github.com/visionmedia/n/issues/101 curl https://npmjs.org/install.sh | sh npm开始工作.. 但是然后我做另一个节点版本的开关: […]

你如何处理Node / Express应用程序中的api版本

我对Node.js很新,我正面临以下问题。 我的中间件是以链接api/v1/login和一些端点开始的。 然后api/v1.1引入了另外两个端点。 api/v1.2现在是最后一个,并得到了一些新的端点。 我应该如何高效地处理这个api版本? 你如何使版本中的端点可用于下一个版本?