Nodejs新版本8.9.0和9.2.0更新啦
这个11月,Nodejs新版本更新了,欢呼雀跃呀。
记得大概从2014年刚开始接触,到进入新公司后正式使用Nodejs已经有大概会3年了,大概也算是我比较喜欢的语言中的一种。
第一次接触的时候,就基本上只是用来运行js脚本,当时爬取网站的时候,有很多js的调用,需要运行后才有结果,当时自己还只是在用PHP,重写的话有相当的耗时,于是就有了第一次接触,之后断断续续就没有怎么接触了。
第二次接触是在进入奇鸟后,认识了磊哥,于是又开始了Nodejs之旅,这回让我对js有了重新的认识,以往的普通语法认知和视野认知进入到了一个更深的层面。
当时记得做一个逻辑,需要查询数据库,然后需要根据查询的结果做逻辑处理,要是知道,js的特性,那个时候就是一层层的嵌套,后来在使用过程中,了解到了co,async之类的库,就摆脱了一层一层剥洋葱的感觉,也学会了原来,还可以有这样的库能够被使用
比如下面这样一层一层深入
connection.query(sql, function(data, function(err, callback) {
if (err) {
return callback();
}
if (data) { // 具体的逻辑处理
connection.query(sql, function(data, function(err, callback) {
// 具体的逻辑处理 可能还有其他的需求
});
}
})
下面试用co跟async的方法
async.waterfall([
function(callback) {
if (accessToken) {
getUidByToken(accessToken, function(err, uid) {
if (err) {
return callback(null, 0);
}
callback(null, uid);
})
} else {
callback(null, 0);
}
},
function(uid, callback) {
var sql = `... where user_id = uid`;
mysql.query({sql: sql}, function(err, row) {
callback(err, row);
})
}
], function(err) {
if (err) {
return next(err);
}
res.json(OKPacket);
});
co(function* () {
let _isAdmin = yield Promise.resolve(true);
if (!_isAdmin) {
throw new Error('Admin only.');
}
let sql = ``;
yield mysql.queyr(sql);
})
.then(val => res.json({suceess: true, data: []}))
.catch(e => next(e));
是不是感觉要比一层一层深入要好很多,虽然是这样,但是依然不能达到自己去深入Nodejs这块的学习。
后来又了解到了koajs,感觉自己时刻跟不上时代的进步,仅仅不到一年的时间,各种新的技术如雨后春笋般,一个一个冒出来。
后来又接触到了Reactjs,ReactNative,Webpack,Gulp,Grunt,Pm2等,短短的时间内感觉自己提升了好几个级别。
但是Nodejs中的各种新的语法也在渐渐的完善。
如今我自己写的代码,大部分是使用了Babel进行了编译后去运行,毕竟使用的版本中很多新的语法还不支持。
比如这个,就是目前我使用了8.9.1这个版本后的.babelrc配置文件
{
"plugins": [
'transform-es2015-modules-commonjs',
]
}
对比下以前的
{
"presets": ["es2015"],
"plugins": [
'transform-async-to-generator',
'transform-strict-mode',
'transform-object-assign',
'transform-class-properties',
'transform-export-extensions',
'transform-runtime',
'transform-decorators-legacy'
]
}
感觉瞬间清爽了许多,应该在开发中,每次写完代码进行编译的速度都快了很多。再过几年import/export被支持的时候,就彻底释放了。
感觉Nodejs这种语言很随意又很严格,随意就是,你可以啥也不管,只能运行就行,可以使用原来的方式。
严格就是,当你对自己严格的时候,你的代码也会严格起来,而且严格的结果就是感觉新的血液不停的在沸腾。
就是简单的几点感想,睡觉了,哈哈
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/810
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/810