Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all 14821 articles
Browse latest View live

-况客科技-诚聘爬虫工程师


今天遇到一个关于Vuex 的问题

$
0
0

我可以在Vuex store 中的modules 中 import store 吗 ?

Node.js 如何获取重定向以后的URL

$
0
0

需求如题

下面是我搜到的一个方法(也就搜到这个方法):

var request = require('request');
var r = request.get('http://www.baidu.com?q=foo', function (err, res, body) {
  console.log(r.uri.href);
  console.log(res.request.uri.href);

  // Mikael doesn't mention getting the uri using 'this' so maybe it's best to avoid it
  // please add a comment if you know why this might be bad
  console.log(this.uri.href);
});

但是有少数网站行不通。虽然可以 console.log 出正确的网址,但同时也会报出 err,输出的 err 如下

{ Error: Parse Error
    at Socket.socketOnData (_http_client.js:411:20)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at TCP.onread (net.js:554:20) bytesParsed: 768, code: 'HPE_INVALID_CONSTANT' }

我分别输出成功和错误时的r.response.headers感觉没有任何异常,在stackflow上搜HPE_INVALID_CONSTANT也没有我想要的结果

失败的URL: http://XX.XX.XX.XX:XXXX/funcapi?md5=a4c9ca60e5fbe304990fe111cb5afb59&sha1=a6bcb478ed2e5f4edf9478f96594f7789b1a914d&fileSize=39532783&contentType=mp4&token=htd9wHyQNHGp8.1wsQE1r.1.0mxSACjkH7mGf6xKx.0X9HrvclocrjDYGxpooVv8YOtWRr49Xm.0hryJmbprq.1tHXaTmJZrAMFp5WNbKE.1c2GGHoVDns3IGLo8dTekhrix0ohxvj6NmpNfj1Jpf.0la0owrIrdi2bf1KUaN2z.0NjJ0Z20.2http://XX.XX.XX.XX:XXXX/funcapiresize/images/a6bcb478ed2e5f4edf9478f96594f7789b1a914d/39532783/a4c9ca60e5fbe304990fe111cb5afb59.jpg

两个URL都是同一个网站上的,一个是视频链接一个是图片链接。别的网站上的视频链接和图片链接都不会有 err。所以我觉得是网站的问题,不是content-type的问题。

有没有大佬能指点方向。(指出该实现方法的问题或者是实现该需求的方法)

PS:大部分都是成功的,会抛出err的url是我在公司内网找到的,我会尽快在公网找到会抛出err的url然后更新上来

表情包压缩神器,纯JS打造,多参数混合压缩,表情包之王就是你

$
0
0

GIF表情压缩神器(几乎无损) 纯JS打造 求星!!

https://github.com/JesseWeb/minifyGif_NODE-WEB

前言:

本人酷爱发表情包,遂喜欢在各大网站找寻 GIF 动图,然后再去别的网站压缩。本来是有一个免费的压缩网站,虽然不能设置各种宽高、质量等参数,也算时候基本满足需求。

但是!!这个网站貌似是不做了还是挂了!!!

没有新表情的日子很痛苦,遂决定自己用js打造一个压缩器,view也已经写好

先看看效果吧 —这张gif原图

example.gif

example1.png

压缩后

example2.png

是不是很强?

使用方法

既然是JS 肯定要先装好NODEJS环境啦

然后将本项目clone到本地

git clone https://github.com/JesseWeb/minifyGif_NODE-WEB.git

安装图片处理库的依赖GraphicsMagick

进入项目中 npm install

等待所有依赖包安装完毕

npm run start

本程序会监听3000端口

如果想改监听端口,请在server.js中修改port变量为你想要监听的端口

弹出server listen to 3000后,证明此程序已经跑起来了

在浏览器中输入localhost:3000 即可进入页面

example3.png

调节好你要的参数后,将你要的图片拖入即可.由于是本地操作,所以处理起来非常快。

主要功能

对 GIF 进行压缩,压缩方式有三种:

  1. 利用 GIF 质量进行压缩,主要是减少色盘

  2. 利用 GIF 宽高进行压缩,将图片宽高减少进而压缩,当然了,你也可以将图片大小进行放大,但是会增加图片大小.

  3. 对 GIF 进行帧提取,跳过画面中的某些部分,比如一些帧率很高的图片,就可以进行2帧一提取,图片大小会减小很多

具体使用功能压缩成什么样子,还请大家自己去研究,找到最适合的图片参数

友情链接

view实现框架 Vue

viewMaterial框架element

主要算法参考 舞动的表情包——浅析GIF格式图片的存储和压缩

主要图片解析库 gm

主要图片处理库 Gifsicle

深入理解 React 源代码 IV(英文预览版)

alinode能用于非阿里云的主机上面吗?

$
0
0

因为开发机是公司的服务器,但是看alinode的时候,官方文档2写的要填阿里云上面的appid,如果不是阿里云的机器能够使用alinode吗?如果不行,有什么替代工具来监控node程序吗?

深入理解React源码 - 首次渲染 IV

$
0
0

https://zhuanlan.zhihu.com/p/32896664咱们在上几篇讲完了简单组件的渲染过程。这次我们用一个自定义组件(我们平时开发用的那种)来探索渲染流程的更多支线。 本篇涉及的文件:和第一篇还有第二篇一样 如果本篇涉及的函数和代码在之前详细讨论过,我会用{}来做引用 App非常像我在最开始给出来的的那个组件,我们上次觉得这个组件…

node-express | 实现登录验证和授权

$
0
0

账号登录验证和权限设置,可以说是任何一个系统都必须具备的基本功能,而方式是从最传统的账号密码登录,到社交账号绑定不等。

1、登录验证(Authentication)

先要考虑登录有什么用?

最基本的目的是为了让系统在很多人中认得你,你上次来干什么了,做到哪一步了,一句话概括是:记得之前的你。

另外的目的是为了不让其他人冒充你。概括为:确保真的是你。

以上两个目的的实现需要两个中间件处理。

会话(session) —> 记得之前的你

Passport —> 确保真的是你

2、授权(Authorization)

登录验证是为了验证你的身份,有机会进入系统的大门。而授权是为了确定做的操作,都是被允许的,你有被赋予权限。系统需要知道你是普通用户,还是论坛坛主,又或者是整个系统的管理员。

Authorization

运行部署:

1、数据库用户名、密码、数据库名都是test,clone下来后要先建立一个数据库,或者修改连接数据库。

2、npm install //安装依赖

3、npm start //启动项目


CNodeJS 官网 获取主题内容的API 疑问?

$
0
0

在移动APP 的开发过程中,我调用CNode 这个 /api/v1/topic/5433d5e4e737cbe96dcef312 api 的时候, 有些图片不能显示不出来,经过调查发现图片的url地址是没有http 开头,比如传回来tpoic 的content字段的数据:

{
	id:"5433d5e4e737cbe96dcef312",
	author_id:"504c28a2e2b845157708cb61",
	tab:	"share",
	content:'<img src="//dn-cnode.qbox.me/FnVfpzmijdZekJbHXapMRR9RsoIR" alt="image.png">'
	....
}

这样会造成我的APP 不能够正确的显示图片。 效果预览: EEA37795882071128FBAA8F2A40924D1.jpg但是如果返回的是这样的数据我就能够正常解析

{
	id:"5433d5e4e737cbe96dcef312",
	author_id:"504c28a2e2b845157708cb61",
	tab:	"share",
	content:'<img src="http://dn-cnode.qbox.me/FnVfpzmijdZekJbHXapMRR9RsoIR" alt="image.png">'
	....
}

即返回的 图片url地址带上 http: 。

请问我该怎么处理呢,CNode官方维护人员能够把整个内容的url 连接换成带有http 的吗?

sequelize查询问题

$
0
0

请问各位,在sequelize中有两个表AB,如果A,B两表中都存在一个order_id为1的行,在查A表的时候则排除该行。

求大佬解惑

同时使用bodyParser.json()和bodyParser.urlencode()结果post请求得到504错误

$
0
0

写一个本地post请求发数据到本地服务器,然后通过本地服务器post到远程服务器http://www.imooc.com/data/check_f.php,然后发现一直报错504,检查了很久,发现我把bodyParser.json()或者bodyParser.urlencode()的其中一种注释掉都可以获取到数据(我之前是两种方式都存在的)。 不明白,这两种解析同时全局写为什么会有干扰? 屏幕快照 2018-01-13 下午11.25.38.png

屏幕快照 2018-01-13 下午11.26.03.png

客户端: $.post(“http://localhost:3000/data/check_f.php”, { num: $("#inputNumber").val() }, function (data) { $("#infoList").append("<li>你输入的数字 <b>" + $("#inputNumber").val() + “</b>是<b>” + data + “</b></li>”); }) 本地服务器端用代理(同时请求体原先用上面两种方式解析): var proxy = require(‘http-proxy-middleware’); var dataProxy = proxy(’/data’, { target: “http://www.imooc.com/”, changeOrigin: true }); app.use(’/data/*’, dataProxy);

为什么会有冲突呢?

区块链技术向公司求 Node.js 工程师 - 标配电动升降桌+人体工学椅

$
0
0

工作地点: 北京望京

负责内容:

基于区块链的国际化社区型产品的后端开发。

职位需求:

Node 经验一年及以上

JS 基础知识扎实,熟悉 ES7 优先

熟悉 Koa 框架

熟悉 Node 开发工具链

熟悉常用关系/非关系型数据库,有 PGSql 经验优先

熟悉 linux,并具备一定底层理解

熟悉 Socket、Restful、RPC 协议等

有良好的单测习惯,熟悉 Jest 库优先

有良好的英文文档阅读能力

有良好的编程基础理论和系统性认知

有良好的数据结构认知

有良好的设计模式认知

有良好的工程学认知

熟悉 Mac 下开发环境

对区块链感兴趣者优先

有全栈开发经验或感兴趣者优先

有优秀的开源项目主导或参与经验者优先(请提供地址)

有先进的硅谷向开发理念者优先

请附上 github 或博客地址

感兴趣请联系 lisuyong@beliefchain.com谢谢

国内用户通常用什么“版本”的浏览器?

$
0
0

国产的浏览器基本都是用Chromium内核,那么现在大多数是到Chromium什么版本呢?据说是55最多?61才支持ES Module,看来还不能用import和export呀?这要等多久呀?

使用了koa2开发项目一个星期,遇到的一些疑惑

$
0
0

项目采用mvc的构架。简单的登录功能已经写好了。然后用的途中产生一些疑惑 1.因为使用了async/await的语法糖所以可以等查询完了在返回结果,但是以前node还不支持的时候是怎么解决这个问题,因为会遇到http连接走完了还没有返回数据的情况, 2.大量使用了async的情况下我就想测试它跟普通函数有什么区别,结果这差距有点夸张 ![FYS]D[FX{_10BB{_4O$W6.png](//dn-cnode.qbox.me/FqftgzBz36pxTBXb9cUIruPJLxF-) 当然实际开发下功能更复杂效率差别也越大,发现这个问题第一个想到的就是减少async函数的使用,然而又会遇到这种情况: 项目中逻辑跟数据获取是分开的,而数据获取是异步如果我直接通过调用普通函数的方法调用就不会达到同步效果,为了达到同步我就必须把调用数据层给写成async 里面加上await然后我调用逻辑层的地方也就必须跟着加上。。。。。。。。。各位大神是怎么解决的

转盘游戏库:lottery-wheel

$
0
0

基于Snap.svg和anime.js写了一个简单的转盘游戏库:lottery-wheel。 能快速绘制并实现一个转盘抽奖游戏。 感兴趣的noder可以通过npm安装尝试:npm install lottery-wheel,欢迎提出改进代码的建议!

Todo:

  1. 提供使用自定义图片来绘制转盘的功能
  2. 新的抽奖模式:抽奖数据来自后端,根据实时的后端响应来确定抽奖结果

急求node.js案例!!!

$
0
0

急急急!!! 最近正在需node.js 想找一个基于express mongodb 前后端分离的项目 瞅瞅代码 看看大牛的 思路 和代码顺序 求推荐

webpack 中文官网是挂掉了吗?

学习Node 第一天,希望能够找个好工作, 坐标郑州

$
0
0

学习Node 第一天,希望能够找个好工作, 坐标郑州

请问如何使用Sequelize做文章已赞未赞的功能呢?

$
0
0

现在的思路是有两张表。 一张点赞表,一张文章表。 点赞表: id,uid,tid 文章表 id,title,content 不知道怎么写关联查询会好一些。

setTimeout 报错导致整个进程退出, 是正常行为吗

$
0
0

在浏览器环境习惯了, 记不起来 Node.js 以前是不是这样. 我的想法是把一些逻辑放在 setTimeout 的事件队列当中执行, 这样代码报错了, 主进程不受到影响, 而报错是直接打印在 Console 里的. 可是实际测试了一下, setTimeout 当中代码报错, 整个 Node.js 进程直接退出了. 除了 try/catch 还有没有方式可以在 Node.js 当中模拟浏览器的行为? Node.js 当中一开始就这样吗?

示例代码:

var http = require('http');

http.createServer(function(req, res) {
  return a(2);
}).listen(3000);
Viewing all 14821 articles
Browse latest View live