Gitdebugging自定义合并驱动程序

我正在创build一个自定义合并驱动程序。 一切似乎都在一些用例下工作; 然而,在一个特定的一个我正在合并:“致命:自定义合并驱动程序用户缺乏命令行”。 我只能假设我的自定义合并驱动程序正在退出与0以外的东西。 我正在编程node.js中的合并驱动程序,它作为我的机器上的全局包安装。 .gitconfig和.gitattributes似乎设置正确,因为合并驱动程序正在使用,当我期望它。 当我正在做我自己的testing(手动指定3个文件),我是console.log一些debugging信息,但似乎在运行时与GIT合并这些控制台消息被抑制。 无论如何,我可以从我的自定义合并驱动程序中看到一些debugging信息,因为git实际上是在使用它?

如何组织由express / koa后端服务的webpacked vue.js应用程序?

我在设置一个易于debuggingvue.js项目与koa服务器结合的一些困难。 命令cross-env NODE_ENV=development webpack-dev-server –open –hot从webpack-simple生成configuration似乎是一件好事,但与koa / express一起使用这个命令的惯例是什么? 我find的一个解决scheme是使用pm2同时启动vue和后端的webpack-dev-server,但是我认为这意味着我需要初始着陆vue.js应用程序页面的复制版本,目前正在从koa路线上/。 对于我来说这两种服务器的想法也是令人困惑的,而且感觉很奇怪。 所以,我想我一定是做错了! 有人可以解释一个很好的常规方式做到这一点。

将asynchronous函数传递给Node.js Express.js路由器

这似乎是一个简单的谷歌,但我似乎无法find答案… 你能否将ES7asynchronousfunction传递给Express路由器? 例: var express = require('express'); var app = express(); app.get('/', async function(req, res){ // some await stuff res.send('hello world'); }); 如果没有,你能指出我在正确的方向如何处理这个问题ES7风格? 或者我只需要使用承诺? 谢谢!

如果事情已经改变,只能build立项目

我们想把我们的项目分成小块。 我们目前的CI过程经历了一个短暂的testing阶段,然后运行一个部署脚本。 但是,如果子项目中没有任何变化,我们不想为此通过构build。 没有pipe道的Jenkins支持SCMconfiguration中的排除(我们使用git),并基于此,可以configuration特定的作业运行。 但是,当使用pipe道时,我怎么知道,如果我应该build立这个部分? 如何访问受上次推送影响的path? 目前我们的脚本非常简单,我们希望尽可能简单。 我们正在玩脚本语句和声明语法,但找不到一个好的解决scheme。 声明: #!groovy​ pipeline { agent any tools { nodejs '8.1' } stages { stage('Checkout') { steps { checkout scm } } # Only continue, if something has changed stage('Install') { steps { sh 'npm install' } } stage('Test') { steps { sh 'npm run test-jenkins' } post […]

自定义parsing器的节点串行端口?

随着像STX(0x02)..Data..ETX(0x03)数据STX(0x02)..Data..ETX(0x03) 我可以通过byte sequence parser来处理数据: var SerialPort = require('serialport'); var port = new SerialPort('/dev/tty-usbserial1', { parser: SerialPort.parsers.byteDelimiter([3]) }); port.on('data', function (data) { console.log('Data: ' + data); }); 但是我的实际数据是STX(0x02)..Data..ETX(0x03)..XX(plus 2 characters to validate data) 我怎样才能得到适当的数据? 谢谢!

无法编辑mongoose文件

我正在使用mongoose库mongodb。 我试图保存上面的login时间与下面的代码,如这里所build议的。 UserModel.findOne({ email: req.body.email }, function (err, doc) { //console.log('doc', doc); doc.lastLoginTime = new Date(); doc.save(); }); 我无法编辑它保持不变的文档。 我在这里错过了什么? 我的模式是 const UserSchema = new mongoose.Schema({ email: { type: mongoose.SchemaTypes.String, required: true, //unique: true, set: toLower }, created_at: { type: Date, default: Date.now }, updated_at: { type: Date, default: Date.now } }, { strict: false […]

Sails.js:删除bodyparser中间件的一个特定的路线

有什么方法可以删除特定路由的中间件 目前所有的中间件都在http.js文件中列出 [ 'startRequestTimer', 'cookieParser', 'session', 'bodyParser', 'passportInit', 'passportSession', 'myRequestLogger', 'handleBodyParserError', 'compress', 'methodOverride', 'poweredBy', 'router', 'www', 'favicon', '404', '500' ] 我想删除bodyParser中间件的一个特定的路线 sails.js可能吗?

Node.js SQL争用条件

我想知道在执行IO时如何防止NodeJS中的竞争条件。 我一直在阅读,大家坚持认为竞争条件是不可能的,因为NodeJS是单线程的。 让我们看看下面的伪代码: async decreaseUserBalance(userId, amount) { const currentBalance = await sql.queryScalar('SELECT balance FROM user WHERE userid=?', [userId]); await sql.query('UPDATE user SET balance = ? WHERE userid = ?', [currentBalance – amount, userId]); } 假设数据库节点连接到负载较重,并且需要一些时间来完成每个请求,并且每次用户点击某个项目上的购买button时都会调用该函数。 当用户开始发送这个button或者让机器人发送购买请求时会发生什么? 在我的理解,第一个请求将执行SELECT查询,并恢复执行。 现在,由于用户正在垃圾邮件button,下一个请求进来,执行相同的function。 现在你有几个SELECT语句正在等待完成。 现在,几个select语句完成执行并执行callback,因此现在有几个callback函数正在执行UPDATE语句,所有语句都具有相同的余额。 这意味着,如果起始余额为5,那么所有这些数额都会从最后一个已知余额中减less。 所以基本上不pipe你同时执行这个查询的频率如何,第一批请求都将从SELECT查询中获得相同的值,并将其更新为一些假的。 对不起,如果我的解释有点模糊,但我认为这是一个非常现实的问题,我怀疑有很多人考虑。 所以要解决这个问题,Node是否支持类似互斥的东西? 从我读过的MongoDB不支持表锁,所以locking只能是SQL的一个选项。 编辑: 我知道我可以在1个查询中完成这个例子,这将解决它,但让我们说这是不可能的。 那你怎么解决呢? 编辑2: 好的,让我们看看这个例子: async tryBuyItem(userId, itemId, price) { […]

如何通过rabbitmq发送图片和附加数据?

现在,我可以通过rabbitmq发送一个图片,但不知道如何做一些额外的数据,例如一个数字。 我的猜测是,将图片转换成base64string,并附加数字(用独特的符号分隔),然后发送到rabbitmq。 但是有可能吗?

通过aws codebuild为nodejs lambda创buildzip文件

我想通过aws codebuild过程为我的nodejs lambda创build一个zip工件 – 这样lambda函数可以在S3中使用这个zip文件作为源代码,并且我们有一个部署“certificate”,用于在codebuild中使用git commit id进行pipe理 我在github-repo中的文件结构是 folder1 – myfile.js – otherfile.js folder2 – otherfiles.js package.json 现在为nodejs lambda项目我想zip文件没有zip文件夹(我们需要的lambda nodejs项目),所以zip应该直接包含以下文件 – myfile.js – node_module ==> folder from codebuild via npm install command 问题: 1)在S3输出zip包含在文件夹即.zip-> rootfolder-> myfile.js,而不是我们要求的.zip-> myfiles.js这是不可用的lambda作为nodejs它应该有文件在根zip和不在里面他们(文件夹内没有相对path) 2)path – 你可以看到myfile.js是在一个文件夹我想相对path被省略 – 我试图放弃path,但问题是所有的node_module文件也在文件夹而不是在文件夹作为丢弃path适用于他们两个 – 我可以设置丢弃path只为myfile.js而不是为node_module文件夹? 我目前的yaml文件: artifacts: files: – folder/myfile.js – node_modules/**/* discard-paths: yes 如果有人可以提供解决scheme,这将是很好的? 如果解决scheme中不包含更改的github-repo文件夹结构,我想在其他文件中也重复这个用于创build其他lambda函数的repo。 […]