
Node.js
文章平均质量分 74
火星牛
码农,兼爱诗词绘画,delphi,nodejs,重庆大学
展开
-
SPA模式下的es6如何加快宿主页的显示速度
SPA的模式下,宿主页是首先加载的页面,会需要一些主要的组件,如element-plus,easyui,devextreme,ant-design等,这些组件及其依赖组件,文件多,代码量大,可能导致首页加载很慢,超过3-8秒,必须优化。文件多,浏览器与服务器之间的交互次数多,网络来回多,浪费了大量时间,如果能一次打包返回,可以提高效率。在es6模式下,这些第三方组件一般没有提供一个打包后的大文件,一般官方建议分散使用。(1)每次后台打包,可能要花2-3秒,最好把打包结果保存到文件,下次直接读取。原创 2025-05-20 21:15:00 · 860 阅读 · 0 评论 -
nodejs后台babel在线热编译jsx
浏览器加载react/vue组件时,遇到es6转es5,jsx转js...时,一种方法是用webpack离线编译,一种方法是用babel在线热编译(为了效率部署前可以预热)。但在多并发时,问题来了:多个并发任务可能会同时都检查到缓存不存在,然后开始编译.......很浪费,其实只需要一个任务来编译,其它任务等待编译结束后再读取缓存。先检查是否有编译后缓存文件,有就直接读取,否者编译,再读取。我比较喜欢在线热编译,好处是发布时快,不经过build直接源码发布,并可以避免忘记编译步骤导致bug。原创 2024-05-09 18:04:39 · 543 阅读 · 0 评论 -
从three.js的字体文件中精简提取自己需要的字符
three.js的中文字体文件很大,以微软雅黑为例,有26M。如果程序中只用到了部分汉字,那么可以瘦身一下,只保留自己需要的汉字。three.js的字体文件格式是这样的:module.exports={ "glyphs":{ "A":{ "ha":977, "x_min":16, "x_max":961, "o":"m 961 0 l 811 0 l 704 288 l 267 288 l 165 0 l 16 0 l 416 105原创 2021-10-27 17:56:54 · 1078 阅读 · 0 评论 -
token过期时web前端如何自动刷新token
以token处理登录的web系统,一般会有两个token:access-token和refresh-token。node.js中,一般用jsonwebtoken这个模块。access-token,是用户输入登录的账号密码,后台去db验证然后颁发的,它一般记录在浏览器的cookie中,并在浏览器关闭时自动删除,页面访问或ajax访问会自动通过cookie传回到后台,后台直接内存中校验,不用访...原创 2019-05-29 19:33:28 · 28255 阅读 · 2 评论 -
Gulp挑战Grunt,背后的哲学
http://www.jianshu.com/p/3779f708f5d7/[按:网上介绍Gulp和Grunt安装使用的文章很多,甚少比较二者的思路,连官方文档都语焉不详。我在此做一个粗陋的对比,希望能提纲挈领,加深读者对这两个工具的理解。]做过点儿正经开发的同学都知道,构建工具必不可少。C时代的Make、Java的Ant、Ruby的Rake……没有这些工具,一遍遍地点选输入,准烦死...转载 2015-07-30 08:41:34 · 936 阅读 · 0 评论 -
node-qunit的测试结果如何显示到浏览器中(4)
前面我把node-qunit的log.js修改了,把全局变量data公布出来了,但是每测试一次,发现测试报告一直累加,于是加上清空测试报告的代码:testrunner.log.reset();,如:module.exports = function(req, res, sender) { var testrunner = require("qunit"); te...原创 2014-04-03 09:21:56 · 1129 阅读 · 0 评论 -
node-qunit的测试结果如何显示到浏览器中(3)
拿到了全部详细测试结果报告,在浏览器格式化显示有两种方法:(1)自己随便写;(2)还是用QUnit,既然它能比较优美的在浏览器显示测试结果,那我们就把node-Qunit的结果也让它来显示吧。先看到QUnit有个push方法,以为调用把结果报告一条一条调用QUnit.push(o.result,o.actual, o.expected, o.message)就行,结果什么也没有看到。算...原创 2014-04-03 09:01:49 · 1125 阅读 · 0 评论 -
node-qunit的测试结果如何显示到浏览器中(2)
上回得到的report但实际上只是一个摘要,不够详细:{"files":1,"assertions":26,"failed":3,"passed":23,"runtime":463,"tests":12,"coverage":{"files":1,"statements":{"covered":106原创 2014-04-03 08:46:00 · 915 阅读 · 0 评论 -
node.js express传递object给ejs(二)
在上一篇中,express要传递一个object给ejs,是自己先把object序列化成json字串,然后传递给ejs,ejs收到手再解析成json元件。查看资料,说express连function都可以传递给ejs,那表示是在进程内传递的,应该能直接传递json元件,不需要先序列化成json字串。exports.yjUser = function(req, res){ ...原创 2014-03-13 20:31:38 · 3049 阅读 · 1 评论 -
node.js express传递object给ejs(一)双引号问题
在node.js中,用msnodesql查询sql server数据库,然后传递给ejs模板页:exports.yjUser = function(req, res){ var sql = require('msnodesql'); var conn_str = "Driver={SQL Server Native Client 11.0};Server={.\\sql2008};...原创 2014-01-20 18:30:51 · 4402 阅读 · 0 评论