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

json对象以及数组键值的深度大小写转换问题

$
0
0

最近在做一个项目,发现后端返回的数据键值全部都是大写的,有时候前端用起来很不方便,所以写了一个深度转换的小工具,分享给大家,也就不用重复造轮子了,不喜勿喷

start

npm i deep-lu-trans --save

json example

import t from 'deep-lu-trans';

const obj = {
  AS_DD_S: 123213,
  AND_SAJ_JDK_JSAKD_: {
    DJK_ASJ: {
      SA_DSA_DSA: 123123,
      ASDA_SDH_KAS: {
        ASD_SAD: [{
          ASD_SAD_SA: 123123,
          III_ASDA: [1, 23, {
            ASD_SAD: 123
          }]
        }]
      }
    }
  },
  KIO: [{
    OP: 1,
    OOP: 2
  }, {
    OL: 1,
    OP: 2
  }]
};

t.objKeysToLower(obj).then((res) => {
  console.log(JSON.stringify(res));

});
t.objKeysToLower(obj).then((res) => {
  console.log(JSON.stringify(res));
  /*
  {"as_dd_s":123213,"and_saj_jdk_jsakd_":{"djk_asj":{"sa_dsa_dsa":123123,"asda_sdh_kas":{"asd_sad":[{"asd_sad_sa":123123,"iii_asda":[1,23,{"asd_sad":123}]}]}}},"kio":[{"op":1,"oop":2},{"ol":1,"op":2}]}
   */
  t.objKeysToUpper(res).then((_s) => {
    console.log(JSON.stringify(_s));
    /*
    {"AS_DD_S":123213,"AND_SAJ_JDK_JSAKD_":{"DJK_ASJ":{"SA_DSA_DSA":123123,"ASDA_SDH_KAS":{"ASD_SAD":[{"ASD_SAD_SA":123123,"III_ASDA":[1,23,{"ASD_SAD":123}]}]}}},"KIO":[{"OP":1,"OOP":2},{"OL":1,"OP":2}]}
     */
  });
});

array example

import t from 'deep-lu-trans';

const arr = [{
  A_B: 1,
  B_C: 2
}, 3, 4, 'abc', [{
  A_B: 1,
  B_C: {
    C_D: [0, {
      CK: 1,
      KL: 2
    }]
  }
}]]

t.arrKeysToLower(arr).then((res) => {
  console.log(JSON.stringify(res));
  /*
  [{"a_b":1,"b_c":2},3,4,"abc",[{"a_b":1,"b_c":{"c_d":[0,{"ck":1,"kl":2}]}}]]
   */
  t.arrKeysToUpper(res).then((_s) => {
    console.log(JSON.stringify(_s));
    [{"A_B":1,"B_C":2},3,4,"abc",[{"A_B":1,"B_C":{"C_D":[0,{"CK":1,"KL":2}]}}]]
  });
})
git 地址

https://github.com/burning0xb/deep-lu-trans


阿里云推荐有礼活动 发车了

node爬虫小项目-抓成都房协网

$
0
0

成都房协官网就一个列表,太丑太难看,索性就写了个爬虫,每隔15分钟后台自动抓取,再用antd design图标做了一些分析,

客户端

  • react
  • bizcharts
  • antd-design

服务器端

  • koa
  • mongoose
  • cheerio
  • node-schedule

其他

  • webpack
  • eslint
  • gulp

在线地址:在线预览如果对您有帮助,欢迎start,提反馈给作者,会持续更新。 github地址:源代码

求助egg.js插件问题

$
0
0

新手入坑,打算拿egg.js练手,然而在数据库连接这步就倒下了,求大佬扶一把。 选择的数据库连接插件为egg-knex,配置按教程来的。 然而在Service里调用时knex的方法时( this.app.knex.raw(sql) )不认识knex的方法(this.app.knex.raw is not a function),但是不使用插件的方法的话是没有问题的,this.app.knex打印出来可以看到app和options等信息。 配置检查了一天也没能解决,db也装了,求大佬指明排雷方向。

egg-static怎么使用?(新手勿喷!!!)

$
0
0

初学node, 我在项目下面建了两个文件,一个server对应服务端, 一个web对应网页Screen Shot 2018-03-29 at 12.06.15 PM.png
然后web里面是Vue项目, 通过build把文件打包到server/app/public里面 Screen Shot 2018-03-29 at 12.08.52 PM.png我看文档上说egg-static是默认使用的, 我还需要怎么配置能访问到网页呢 我的项目地址 https://github.com/D8Ge/egg-chat.git请大家帮帮忙

git pull 报错

$
0
0

error: cannot spawn sh: No such file or directory git status 没问题 git add .没问题 git commit -m ''没问题 git pull就出错了,好绝望,以前是重启就好,现在重启都不好了,怎么办

我自己解决了,就是我本身的安装路径是C:\Program Files\Git,应该是路径包含了空格,所以导致报错,现在安装在D盘下就好了,但愿能帮助有出现过这个问题的人吧

Eng --- React 、 Vue 、 Angular全家桶套餐外的另一种超轻量级实现方式 (16kb)

$
0
0

链接

  • Eng 是一款 MVVM 模式超 轻量级的 组件化数据渲染 JS 本地插件 , 仅有16kb 。 但却支持 React 、 Vue 、 Angular 全家桶套餐的主要核心功能 , 因此是这三类工具外另一种更 轻量级的实现方式 , 具有所有此类工具中 , 最少 最简洁 最易的 学习曲线;

  • Eng 在大多数情况下与后台 99 %解耦 , 按照 Eng 规则封装的Eng组件 , 具有一次编写 , 处处部署的特点 。 后台仅仅只需配置数据的请求接口 。 在使用本地数据的特殊情况下 , 后台对前端工作的参与度近乎为 0 ;

  • Eng 主要特性:数据多向绑定 、组件闭包通信(动态)、 组件群发循环通信 、数据状态共享(跨页面模式下:跨组件,多向控制)、 组件require(自动按需加载js,css)、组件自请求数据、支持列表数据过滤 ,实现Excel数据统计计算、 组件方法自缓存复用

  • Eng 相较于同类工具: 更少更简易的指令/方法实现同样的操作 , 没有任何组件通信障碍 , 后台无需专门复杂的路由控制器(1个ID1个接口) ,数据状态共享仅需简短的声明 , 组件是完整闭包的全功能自动独立运作体。

  • Eng 的数据结构与dom层次划分, 互为结构视图 。 在深度开发下 ,提供异常明晰的规律逻辑思考模式 与 例推效应;

      var cfg={
				  app:{
					  el:document.body,
					  id:'app',
					  css:true
				  },
				  $_sharedData:{  //数据状态共享 配置
					  '<=>':['app']
				  }
		  };
		  Eng.init(cfg); //使用方式

LGBT app build with react native 开源

$
0
0

Github

Install

App Store 搜索 「同志亦凡人」.

Build with

React NativeNodeJSExpressJs阿里云野狗七牛云

功能列表

  1. 多语言支持
  2. 注册/登录(阿里云短信)
  3. 个人资料设置
  4. 添加/查看评论
  5. 添加/查看收藏
  6. webview页面(文章详情及操作)
  7. 上传图片/拍照(七牛云存储)
  8. 代码热更新/codepush(Microsoft AppCenter)
  9. 谷歌admob/analytics
  10. 发布/查看动态

Introduction

QAF is a free ios app for LGBT. Offers latest news, articles, novels and videos about LGBT.

Screenshots

shots


【杭州 Scott】 宋小菜(B1轮) 招聘 Node.js/RN 工程师 2 名

$
0
0

邮箱:wolf18387@qq.com 地点:城西优盘时代(银泰附近),楼下 150 米是三坝地铁站入口 名额:Node.js/RN 工程师各 1 名 待遇:行业中等靠上薪资 + 早期期权 其他:五险一金,且公积金缴纳最高比例

大家好,我是 Scott,如果你渴望到一个技术氛围浓厚,成长空间巨大,有人情味的团队,欢迎往下面看。

前端 Leader 的履历非常重要,可以帮助你了解到带你的人,他带的团队,值不值得跟随,他看好的公司,他全身心加入的项目值不值得考虑:

2010 ~ 2014 年

我在阿里妈妈事业部做前端,后期主要负责全网的广告模板制作及站内外投放,也就是大家熟悉的微博/优酷/边栏豆腐块;

压抑不住自己创业的欲望,也恰好遇到了自己喜欢的项目,就决定另起行程。

2014 ~ 2017 年

我与硅谷的合伙人,联合创立了某美国留学租房平台(后来覆盖到英国、日本、澳洲、新加坡、马拉西亚),用 Node.js 撑了公司 3 年多的业务,直到最终资金链断裂,宣告创业失败。

失败并没有击穿我的创业渴望,反而刺激我再好好来一发,只是这一次,除了风险,我会更加关注人:招我进去的人,带领大家的人,与我合作的人,我要招的人,这群人是不是值得托付自己,这群人是不是愿意寄托信任与你,这群人是不是有血有肉有情有味的人,这群人是不是生活与理想,现实与大饼都会与你同步的人,这群人是不是能沉得下心,专注做业务的人。

很庆幸,我遇到了这群人,我身边很多优秀的老阿里也都纷纷加入到这个群体,行业很多老咖新秀也都加入,这就是我现在这家公司。

2017 年 7 月至今

进入宋小菜虽然机缘巧合,但是我经过很久的深思熟虑,最终这些曾跟着我一起创业但遭遇失败的伙伴,这些工程师、设计师和运营,我们不愿意就此别离,我们也都拥有创业热情,我们都相信自己可以做的更优秀,于是大家随着我,整个杭州团队打包进了宋小菜,逐渐融入到了宋小菜,专注的做中国人吃的这个蔬菜行业,相信中国的蔬菜行业可以让大家吃到更透明更新鲜更健康的蔬菜,可以让蔬菜的从业人员更轻松更专业,这就是我可以向你描绘的团队与理想。

我们做什么

这也是我进入宋小菜 8 个月以来的每一天,创业公司各种困难,背后却是各种机会,下面是我满 8 个月写下的话:

前端真的是好玩,开放的能力会带来开放的边界,开放的边界则会打破旧有的观念,重塑对职业的认知,对个人与公司关系和价值的认知,以及对产品流程和协同方式的认知,这 8 个月总结下来就是:不管多难顶上去;攻坚过后别满足,继续挖,下面是宝藏…

我们 8 个月中,支持到许多的产品线,同时在工程流程方面,用 Nodejs 搭建和研发了许多的工具和系统,比如:

  • 提高 8 倍开发效率的报表制作系统
  • 大幅降低人力成本与构建风险的 App 自助打包系统
  • 大幅支持产品迭代的自动推包审核热更新发布系统
  • 接管整个数据前台服务的 GraphQL 数据聚合系统
  • App 用户个性行为跟踪的 RGB 可视化平台
  • 线上运行 App 运行时健康监控与问题跟踪分派系统
  • 以及记录个人成长轨迹的周报系统、图书馆系统、自动化脚本生成系统等等等等…

而做这些事情,我们一共投入了 4 个前端,从 Express 到 Koa2 到 Thinkjs 到 Eggjs,全部玩溜了一遍,越玩越上瘾,越玩成长越快,虽然人数我们逐步增加到了 10 个人,但是我们有 6 款 ReactNative App,还有 N 个前后台系统,甚至还有小程序,我们渴望有更多爱折腾敢折腾的小伙伴加入,一起把中国最原始最传统的蔬菜行业,通过我们的创新和工具,让卖菜的这件事情变得越来越性感。

职位的要求

偏 ReactNative 方向、偏 Node 方向均可,在我的团队,我会要求大家一精多专多能,打破所谓的前端职业瓶颈。

  1. 3 年以上前端开发经验(超级学习能力剑走偏锋同学除外);
  2. 熟悉 Web 开发流程,熟练掌握 HTML5/CSS3/Javascript;
  3. 熟练掌握前端自动化构建流程,对模块化、缓存、性能优化等有自己一套沉淀;
  4. 熟练使用网络请求分析工具,对于移动端各种网络情况的网络请求进行分析定位,并能进行针对性的优化;
  5. 熟悉 H5 的渲染过程,可以针对不同的业务场景制定相应的渲染优化方案;
  6. 熟悉 React,对 React Native 框架有所研究;
  7. 熟练使用 Git 进行版本控制,善于使用工具解决开发中各类问题;
  8. 抗压能力强,良好的团队协作精神
加分项:
  • 参与过前端开源项目
  • 熟悉原生移动端 (Android/iOS) 开发
  • 为 ReactNative 社区贡献过组件
  • Nodejs 功底扎实
  • 有上架 App

egg 插件加载不进来?

$
0
0

我修改了这俩个文件配置,并没有this.app.redis啊. 是还需要修改什么其他的么? ${app_root}/config/plugin.js

exports.redis = {
  enable: true,
  package: 'egg-redis',
};

${app_root}/config/config.default.js

'use strict';

module.exports = appInfo => {
  const config = exports = {};

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1522295196003_1293';

  // add your config here
  config.middleware = [];
  config.redis = {
    client: {
      port: xx,          // Redis port
      host: '192.168.19.xx',   // Redis host
      password: '',
      db: 0,
    },
  }
  return config;
};

阿里云服务器三年279,新用户就可以买,要买的上车了

阿里云服务器、1年99元、3年279元,新用户就可以买,要买的上车了!

YouTwoPHP,一个开源的油管视频代理工具!

$
0
0

本文转自逗逼基地 , 版权归原作者所有 , 此文仅作为交流分享使用 , 不代表楼主观点 )前言

此教主要程针对已经能够科学上网,但不想继续花费高额vpn费用的用户.

源代码:

https://2tube.js.org/

基于 PHP+socket 编写的流量中转脚本。自用了测试了半个月,稳定运行!

没啥技术含量,通过 socket 转发流量实现油管直接看。使用成本非常低,可以说接近免费。几元一年的虚拟空间就能流畅运行。

相比起 VPN,这个不需要服务器,不需要 vps,一个支持 PHP 的与你主机就能运行。

这个脚本读取谷歌服务器上的视频并一块一块的写入到你的虚拟主机 /服务器内存中,然后转发给您的浏览器,你的虚拟主机 /服务器起到了一个中转跳板的作用,巧妙的避开了拦截,因此可以支持大于虚拟主机空间的视频。

架设教程

https://2tube.js.org/doc/

求助.关于PM2重启问题.5s重启一回,逻辑代码无明显BUG

$
0
0

如题: PM2出现重复重启问题. 单个Node启动时,程序无问题. 但是使用pm2启动时,出现重启问题. 欢迎各位踊跃发言,或者提供思路也好.感谢各位.

PM2版本:v2.4.6 node版本:v6.10.3 NPM版本:3.10.10 PS:尝试升级过PM2版本,问题继续出现. 进程配置如下: {
“name”: “",
“script”: "
”,
“instances”: “1”,
“exec_mode”: “cluster”,
“args”: [""],
“node_args”: “–harmony --max-old-space-size=4096”, “merge_logs”: true,
“cwd”: “./”,
“max_memory_restart”: “4096M”,
“log_date_format”: “YYYYMMDDHH”,
“error_file”: “./log/err.log”,
“out_file”: “./log/out.log”,
“env”: {
“NODE_ENV”: “development”,
“AWESOME_SERVICE_API_TOKEN”: “xxx”
},
// “watch”: ["./
/.js"],
“ignore_watch”: [],
“watch_options”: { “followSymlinks”: false }
}

使用Node独立进程启动此进程时,程序表现正常,并未出现致命中断情况.使用Windows环境

程序重启后: 此时程序的错误日志为空,只有正常输出日志.但为莫名中断. 并在进程目录下会创建npm-debug.log文件.

PM2日志如下:

[31]: arguments adaptor frame: 1->2 { // actual arguments [00] : 0x3f6d00f04ff1 <String[4]: next> }

[32]: new Promise [native promise.js:53] [pc=0x37fab2c4dd79] (this=0x3f6d00f04429 <the hole>,v=0x75a6e3711e9 <JS Function (SharedFunctionInfo 0x1f89e41db7a1)>#18#) { // stack-allocated locals var .new.target = 0x3f6d00fc3041 <JS Function Promise (SharedFunctionInfo 0x3f6d00f74f51)>#39# var q = 0x75a6e371231 <a Promise with map 0x1f8464162ea1>#66# var w = 0x75a6e3713d9 <an Object with map 0x1f846419f3e1>#67# // expression stack (top to bottom) [08] : 0x3f6d00f04ff1 <String[4]: next> [07] : 0x3f6d00f04381 <undefined> [06] : 0x75a6e3711e9 <JS Function (SharedFunctionInfo 0x1f89e41db7a1)>#18# [05] : 0x3f6d00fc2e11 <FixedArray[38]>#42# [04] : 0x3f6d00fc2e11 <FixedArray[38]>#42# [03] : 0x3f6d00fc3041 <JS Function Promise (SharedFunctionInfo 0x3f6d00f74f51)>#39# --------- s o u r c e c o d e --------- function Promise(v){\x0aif(v===j){\x0areturn %_NewObject(u,new.target);\x0a}\x0aif((new.target===(void 0)))throw e(65,this);\x0aif(!(typeof(v)===‘function’))\x0athrow e(137,v);\x0avar q=PromiseInit(%_NewObject(u,new.target));\x0avar w=CreateResolvingFunctions(q);\x0atry{\x0a%DebugPushPromise(q,Promise);\x0av(w.resolve,w.reject);\x0a}catch(e){\x0a%_Call(…


}

[34]: /* anonymous /(aka / anonymous */) [/home/zhanghang/testNode/Import/bin/pdyimport_bulk.js:196] [pc=0x37fab2f991ef] (this=0x3f6d00f04201 <null>) { // stack-allocated locals var arguments = 0x75a6e370bd1 <an Arguments with map 0x1abadc80ace9>#68# // heap-allocated locals var gen = 0x75a6e370d71 <an Object with map 0x2302f440c5a9>#17# // expression stack (top to bottom) [02] : 0x75a6e3711e9 <JS Function (SharedFunctionInfo 0x1f89e41db7a1)>#18# [01] : 0x3f6d00fc3041 <JS Function Promise (SharedFunctionInfo 0x3f6d00f74f51)>#39# --------- s o u r c e c o d e --------- function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = genkey; var value = info.value; } catch (error) { r 2018-03-29 14:58:14: App name:UPT.Server-PDYimporter id:0 disconnected 2018-03-29 14:58:14: App [UPT.Server-PDYimporter] with id [0] and pid [14238], exited with code [0] via signal [SIGILL] 2018-03-29 14:58:14: Starting execution sequence in -cluster mode- for app name:UPT.Server-PDYimporter id:0 2018-03-29 14:58:14: App name:UPT.Server-PDYimporter id:0 online Stacktrace (bbbbbbbb-bbbbbbbb) 0x109368c0f1e9 (nil):

PM2日志如下:由于日志很大,所以只粘贴一部分,貌似无法插入附件. 如以上日志不够,我会及时补充.

vscode html tag补全安装哪个插件比较好?

$
0
0

vscode默认 script补全为<script></script> style补全为 <style></style>

还是比较习惯Sublime补全为 <script type=“text/javascript”></script>和 <style type=“text/css”></style>

安装哪个vscode插件可以达到这个效果呢? 试了不少插件,没找到对应功能

subss.jpg


【杭州滨江】或【宁波】睿奇软件10-20K诚招node后端开发

$
0
0

宁波睿奇软件技术有限公司招聘啦!!!我们想找到同样有趣又厉害的伙伴! 我们希望你: 对生活要有激情。 这个岗位是一个技术岗,技术要够强! 你要喜欢发现问题,解决问题,而不是放任问题。 要认真些,在意团队,极具使命感,喜欢挑战,有球队精神。

========================================= 【岗位职责】 1、为网页游戏、微信小程序、App设计和实现后端API接口及后端管理开发; 2、参与后端架构设计和产品的研发,并发高性能,高可靠性的服务; 3、持续提升服务性能和改进业务架构。

【岗位要求】 1、扎实的计算机专业基础,熟悉常用的数据结构与算法; 2、熟悉Linux系统,熟悉网络编程、多线程编程; 3、熟悉Nodejs语言,有两年以上使用Nodejs语言开发的项目经验; 4、熟悉分布式系统,有分布式网络服务开发经验; 5、能够自我驱动,有良好的时间和流程意识,乐于接受挑战,热爱探索和钻研 6、熟悉服务端缓存技术如Redis,熟悉至少一种关系型和非关系型数据库;

【薪资福利】 1、10-20K,具体依个人能力而定,年底双薪 2、周末双休,非996,不提倡加班(老总觉得加班影响工作积极性) 3、员工旅游,真的有!不是假的有!! 4、浓厚的技术氛围,公司赞助参加各类技术交流会

【工作地点】 1、杭州:杭州市滨江区江南大道亚科中心A座3101室 2、宁波:宁波市鄞州区上东国际1号楼1204室

【联系方式】 邮箱:736964388@qq.com 电话:15258813561(同微信)

在本地做一个前后分离的项目,用的egg,出现 OPTIONS /api/posts] nodejs.MethodNotAllowedError: Method Not Allowed

$
0
0

在本地做一个前后分离的项目,用的egg,出现 OPTIONS /api/posts] nodejs.MethodNotAllowedError: Method Not Allowed 我前端用的fetch api,貌似跨域会默认发送一条options请求,我也在后端项目里面加了

router.options('/api/posts', controller.post.option)

但是却出现OPTIONS /api/posts] nodejs.MethodNotAllowedError: Method Not Allowed的错误

egg启动一个新项目

$
0
0

我根据https://cnodejs.org/topic/580a6a7e541dfb7b50f40a60的操作步骤来,quick start这里,怎么没生成index.js ;win10 , node 8.9

【广州】心迹教育招聘Vue.js前端测试工程师

$
0
0

 熟练使用Karma / Mocha 进行产品前端单元测试  熟练使用使用Nightwatch进行产品前端E2E测试  熟悉GraphQL查询语言和Schema定义语法(可选)  熟悉服务器端Node.js+Express+GraphQL应用的单元和功能测试(可选)  熟悉产品文档编制  至少一年的专门的软件测试工作经验  大专以上学历,英文CET-4 待遇面议 有意者联系 康小姐 TEL:020-31042283 EMAIL: kangxue@xinjijiaoyu.com地址:广州市番禺区大石街石北工业路 644 号 18 栋 104 室(巨大创意产业园)

阿里云服务器、1年99元、3年279元,新用户就可以买,要买的上车了!!!!!

Viewing all 14821 articles
Browse latest View live