草庐IT

前端JS面试题

全部标签

javascript - Node.js 和 Socket.io : Self-signed certificates for a secure websocket connection

我一直在网上寻找直接的答案,但大多数解决方案都涉及使用Express和提供HTTP内容以实现安全连接。我对Node.js和socket.io的安全网络套接字连接(wss)更感兴趣我不使用Node.js进行HTTP请求。我使用与Node.js配合使用的socket.io模块将消息实时传递到我的应用程序。我只将Node用于网络套接字连接。我将简要说明我的设置是什么。我使用Django作为我的HTTP后端。用户向Django发出请求,Django将该请求的内容转发给Redis,Node.js监听Redis的一个channel,它处理内容并将消息发送给适当的接收者。非常简单直接。一切正常。但我

javascript - 使用加密的 Node.js 密码哈希 bcrypt 替代方案

我实际上是在使用bcrypt模块来散列和比较散列密码。我想做的是删除bcrypt模块并使用默认的crypto库来哈希和比较密码。这可能吗?这会比使用node-bcrypt安全吗?你有关于如何做的任何示例/教程/文档/链接吗?或者我实际上这样做的例子:bcrypt.hash(string,secret_key)bcrypt.compare(string,string,secret_key);如果可能的话,我只想用加密复制它:crypto.hash(string,secret_key)crypto.compare(string,string,secret_key);

javascript - Ember.js 中查询参数的 URL 编码

我在我的最新项目中使用版本1.7.0-beta.1的Ember.js。我用queryparams使列表在硬刷新后仍然存在的功能(例如,重新加载后,列表中的选定项目仍处于选中状态)。我有一个负责管理的Controller:exportdefaultEmber.ObjectController.extend({queryParams:[{selectedFiles:'files'}],selectedFiles:Ember.A([]),//listoffileids...//otherpropsactions:{selectFile:function(file){//setorremove

javascript - rails I18n-js : missing translation

我正在使用I18n-jsgem用于js文件的本地化。我已经在gem自述文件的帮助下安装了它,并且它是第一次运行。问题是当我使用rake任务rakei18n:js:export向我的translations.js文件添加新翻译时,我的模板中没有显示翻译-只有缺少翻译(开发和生产有相同的情况),尽管translations.js包含所有新的翻译。应用程序.js//=requirei18n//=requirei18n/translations我错过了什么?如果您需要更多信息,请对其发表评论。谢谢 最佳答案 运行raketmp:clear我

javascript - Node.js/Sequelize.js/Express.js - 如何插入多对多关联? (同步/异步?)

我有两个模型(个人、电子邮件),我正在尝试使用Sequelize命令插入到创建的“Individual_Email”表中。当Sequelize正在创建所需的表时,它在尝试向该表添加/获取/设置该表时返回以下错误:“对象[objectPromise]没有方法'addEmail'”。我错过了什么?Sequelize文档说,如果模型是User和Project,“这会将方法getUsers、setUsers、addUsers添加到Project,并将getProjects、setProjects和addProject添加到User。”这让我相信(查看promises)我可能误解了如何使用Nod

javascript - 为什么 GitHub 会在我的 jekyll 站点上附加一个 js

我注意到GitHub附加了一个js,它似乎在电子邮件地址有字符串/cdn-cgi/l/email-protection时删除指向电子邮件地址的链接。跟他们。还有其他人遇到这个奇怪的问题吗?或者这真的来自GitHub?这是这个脚本的美化版本:(function(){try{vars,a,i,j,r,c,l=document.getElementsByTagName("a"),t=document.createElement("textarea");for(i=0;l.length-i;i++){try{a=l[i].getAttribute("href");if(a&&a.indexOf

javascript - Node.js Nock模拟请求超时及后续成功

我正在尝试模拟服务请求超时以测试Node请求重试模块,该模块允许您指定请求最大尝试重试次数和重试延迟。为了对此进行测试,我需要使用nock模拟前X个请求的超时,然后成功响应同一个请求。我知道有'socketDelay()'方法可以延迟连接,但如何在第一次延迟响应后指定成功响应?我有这个,它模拟第一个请求的超时//delaysthefirstrequest'sresponseby1500nock(urlHost).post('/'+uriPath).socketDelay(1500).reply(200,'responsebody');但是我怎样才能让它在模拟服务恢复之后更快地响应呢?我

javascript - Vue.js 1.0 方法不会在更改选择时触发

关注Vue.js1.0examples,我用v-model项目做了一个选择下拉列表,像这样:{{project}}SchoolPersonalWorkjs位:newVue({el:'#main',data:{project:''},methods:{changeProject:function(){console.log(this.project);}}});标签{{project}}显示正确,但是当我在选择下拉列表中选择另一个值时,它不会触发方法changeProject。我在这里错过了什么?干杯。编辑:在@mustafo的回答之后,我尝试使用@click方法创建一个简单的按钮并打印

javascript - Node.js:获取已安装 npm 包的(绝对)根路径

任务我正在寻找一种通用方法来获取Node.js中已安装npm包的(绝对)根路径。问题我知道require.resolve,但这会给我入口点(主模块的路径)而不是包的根路径。以bootstrap-sass为例。假设它本地安装在项目文件夹C:\dev\my-project中。那么我要找的是C:\dev\my-project\node_modules\bootstrap-sass。require.resolve('bootstrap-sass')将返回C:\dev\my-project\node_modules\bootstrap-sass\assets\javascripts\bootst

javascript - Three.js raycaster 可以与一个组相交吗?

我想知道我的raycaster是否正在查看我加载的OBJ。由于从Cinema4D导出的方式,我相信OBJ是一个有3个child的THREE.Group,而不是THREE.Object。我可以只更改我的raycaster代码行来查找这个组而不是对象吗?raycaster.set(controls.getObject().position,controls.getDirection(),0,40)varintersects=raycaster.intersectObjects(scene.children,true);if(intersects.length>0){//CURRENTLYI