Articles of javascript

用节点检查器debugging远程mocha.jstesting?

我有一个远程计算机上的testing文件,我想通过node-inspector走过它。 所以,在远程机器上( Vagrantfile ): node-inspector & mocha –debug-brk foo.test.js 然后,在我的开发机器上,我打开金丝雀,然后去: http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 但是,我无法debugging我的testing,因为debugging器将在node_modules/mocha/bin/_mocha的第一行node_modules/mocha/bin/_mocha ,而我的testing文件在Sources选项卡中不可见 : 我试着在398行的 _mocha里设置一个断点: runner = mocha.run(program.exit ? exit : exitLater); 但是,当我尝试“进入”,看到runfunction执行,它不介入。我可以看到控制台中的输出,所以它虽然执行。 如果我直接在run函数中设置断点,它不会在那里破坏。 此外, testing文件从不出现在“Sources”选项卡中,因此我无法在其中设置断点。 我也尝试添加一个debugger语句,但它仍然没有在那里打破。 我怎样才能让节点检查员显示testing文件,并通过它? node v0.12.0 node-inspector v0.10.0 mocha v2.2.4

Nodejs:在Nodejs中“需要”一个模块不能使用某个文件名

长期用户,第一次问一个问题。 我有一个文件(让我们叫它file.js),我试图要求在文件顶部的另一个名为user.service.js的文件: var userService = require('./user.service'); 我很确定path是正确的,并且user.service.js文件正在导出一个已填充的对象: 在user.service.js中: module.exports = { signIn: signIn, signUp: signUp, updateProfile: updateProfile }; 但是,userService始终是一个空对象{}。 奇怪的是,如果我用同一目录中的另一个名称(例如user.service2.js)重新创build文件,那么require语句就能正常工作。 或者,如果我将file.js重命名为file2.js,则调用起作用。 此外,如果我需要在user.service.js中的函数内的文件,该语句也可以。 不过,我更喜欢在文件顶部有require语句,并且可以使用其中的所有函数。 先谢谢您的帮助。 编辑: 以下是一些示例代码: var userService = require('./user.service'); var testFunc = function () { console.log(userService); // this logs: {} var userServiceInternal = require('./user.service'); console.log(userServiceInternal); // This logs: // { // signIn: [Function], // […]

在部署node.js应用程序之后,ghost博客部分会中断

我有一个node.js应用程序,其中一个视图是一个ghost.js博客,我通过遵循Ghost的wiki文章Using Ghost作为npm模块进行了整合。 目前,我的本地版本完美地工作。 错误: 当我访问部署的网站时,一切工作正常,除了当我到mysite.heroku.com/blog ,在这一点上,我得到的鬼页面看起来像 。 我注意到应用程序有两个同时运行的本地主机分支( localhost:3000和localhost:2368/ )。 我不确定这是否会导致错误。 我已经检查了我的Heroku日志,他们没有提供任何比GET请求发送到/blog更多的细节,首先返回301 ,然后是404错误。 另外,知道当我点击Go to front page链接时,它会发送给我http://localhost:2368/ 我的config.js文件如下所示: var path = require('path'), config; config = { // ### Production // When running Ghost in the wild, use the production environment // Configure your URL and mail settings here production: { url: 'http://example.com/blog', mail: {}, database: […]

如何在PDF.js中启用文本select

我正在尝试使用pdf.js来显示PDF文件。 我已经可以显示PDF,但文本select未启用。 有人可以给一个小例子如何在pdf.js中启用文本select? 我已经尝试了几件事,但没有成功。 我的代码目前看起来像这样: PDFJS.getDocument('someRandom.pdf').then(function(pdf){ pdf.getPage(1).then(function(page) { // you can now use *page* here var scale = 1.5; var viewport = page.getViewport(scale); var canvas = document.getElementById('the-canvas'); var context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; var renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext); }); }); 我还包括这个: <script src="../pdfjs/pdf.js"></script> <script>PDFJS.workerSrc ="../pdfjs/pdf.worker.js"</script> 此示例呈现PDF,但文本select未启用。 […]

使用require('babel / register')与运行前编译代码

后者与前者相比有没有任何性能优势? 当我自己testing的时候,我的一个项目加载的时间比使用babel / register要短得多。 除了启动时间,我还不完全确定我会写什么来公平地衡量这两者。 有没有人知道Babel的开销是否仅仅来自babel / register的运行代码,或者不pipe你做什么,都会变慢。

node.js和PHP之间的SHA1哈希差异

我想将这部分node.js代码转换为PHP代码。 (加工) function generateHashedPass (password, salt) { var byteSalt = new Buffer(salt, 'base64'); var bytePass = new Buffer(password, 'ucs2'); var byteResult = Buffer.concat([byteSalt, bytePass]); return sha1.update(byteResult).digest('base64'); } console.log(generateHashedPass('111111', 'UY68RQZT14QPgSsfaw/F+w==') === 'L0xc787MxCwJJaZjFX6MqxkVcFE=' ? "Algo correct" : "Algo wrong" ); 现在我有这样的东西在PHP中:( 不工作) public function getHashedPass($pass, $salt) { $base_salt = unpack('H*', base64_decode($salt)); $base_pass = unpack('H*', mb_convert_encoding($pass, 'UCS-2', 'auto')); […]

Meteor wrapAsync同步执行,但从不返回

我试图用wrapAsync封装一个节点包中的函数。 filepicker = new Filepicker('API Key') filepickerStatSync = Meteor.wrapAsync(filepicker.stat, filepicker) result = filepickerStatSync(url); console.log('after') stat函数如下。 一切似乎工作正常…请求调用响应正确的结果,最后的callback被调用,整个事情同步执行/产量正确,据我所知…但同步调用永远不会返回和console.log ('之后')从未被击中。 我不认为我犯了同样的错误发生在这个问题上,因为我的函数有一个callback作为最后一个参数。 我也不认为解决scheme是在这个问题上,因为包装函数结束与调用错误和结果的callback,这应该是什么Meteor.wrapAsync在签名中寻找。 Filepicker.prototype.stat = function(url, options, callback) { callback = callback || function(){}; if(!options) { options = {}; } if(!url) { callback(new Error('Error: no url given')); return; } request({ method: 'GET', url: url+'/metadata?', form: { size: options.size || […]

为什么Nodejs不支持Web Audio API?

我了解Web Audio API是客户端function,但nodejs基于ECMAScript的V8 Chrome客户端实现,其中包括Web Audio API 。 为什么nodejs中没有完整的Web Audio API支持? 是因为AudioContext是基于全局窗口对象吗? 我在这里错过了一个观点吗? 有没有计划在将来提供?

如何在服务器端使用d3库(如c3.js)在nodejs中生成图表?

我正在尝试使用c3js生成图表,这是一个d3库,以便于制图。 我发现你可以使用普通的d3在服务器端使用jsdom生成图表,因为d3有一个npm模块。 这是我遵循这个过程的指南: http : //www.gregjopa.com/2013/11/render-svg-charts-server-side-with-d3-js/ 但是,nvd3或c3js没有npm模块。 如何在服务器端使用这些库来生成在客户端使用的图表?

Babel-node不会忽略编译时指定的文件/文件夹

我有一个使用ES6的节点应用程序,使用以下命令运行nodemon cluster.js –exec babel-node 。 我也有一个.babelrc文件: { "presets": ["es2015"], "ignore": [ "public" ] } public文件夹包含前端文件,如html,css和js。 但是当我在公共文件夹中编辑JS文件时, babel-node编译我的代码,我不希望发生这种情况。