小编Cos*_*sta的帖子

在node.js中抛出错误

我有一个小模块,可以作为我数据的模型.它位于我的路由和我的数据库之间,用于存储特定数据(在我的情况下是用户数据).

我在路由代码中需要此模块,调用subscribe它具有的方法,并通过将所需数据存储在我的数据库中来订阅用户到特定邮件列表.好极了!

我的"订阅"方法接受电子邮件和电子邮件列表ID作为两个参数.我将编码草率和快速并为不存在的列表输入id是合理的.拼写错误,你说出来.

如何抛出错误并指向具有错误ID的行号?

来自model/user.js内部的代码:

if (emailLists.indexOf(listId) === -1) {
  throw new Error('listId does not exist');
}
Run Code Online (Sandbox Code Playgroud)

来自route.js内部的代码:

user.subscribe('fake@email.com', 'knewsletterr', function (error, success) {
  if (error) { return sendResponse(500, 'Ahhhhhhh!'); }
  if (!error) { return sendResponse(200, 'subscribed'); }
});
Run Code Online (Sandbox Code Playgroud)

现在,我得到:

/home/.../project/models/user.js:85
if (emailLists.indexOf(listId) === -1) { throw new Error('listId does not exist'); }
                                                   ^
Error: listId does not exist
Run Code Online (Sandbox Code Playgroud)

javascript error-handling node.js

25
推荐指数
2
解决办法
6万
查看次数

CSS媒体查询高度大于宽度,反之亦然(或如何用JavaScript模仿)

现在大多数台式机和笔记本电脑屏幕的宽度都大于高度.屏幕"宽"而不"高".通过使手机的方向能够影响内容的呈现方式,智能手机做得相当酷.

我想通过媒体查询来做这件事,这样如果某个带有大显示器的Mac上的某个浏览器窗口的大小非常"高"(高度大于宽度),他们就会看到页眉和页脚.但如果他们全屏或"宽"(宽度大于高度),他们会看到左边的侧边栏,也可能是右侧边栏.

我正在尝试充分利用宽屏幕和方向等.如何使用媒体查询或JavaScript进行此操作?

javascript css

22
推荐指数
3
解决办法
5万
查看次数

如何控制登录couchdb

首先,我真的很喜欢CouchDB可以做的所有事情.我来自很多前端JavaScript,我使用console.log()进行大量的调试和测试任务.我想知道如何使用console.log或者更好的调试方法可能在CouchDB中.

任何建议真的很棒!

javascript couchdb

18
推荐指数
1
解决办法
5666
查看次数

带有Express框架的Node.js中的自定义事件

所以,我想知道如何在node.js中创建自定义事件,而且我正在碰壁.我很确定我误解了一些关于express如何工作以及node.js事件如何工作的东西.

https://creativespace.nodejitsu.com那是应用程序.

当用户创建新的"活动"(会发生多次)时,他们会发送POST请求.然后在我的路由中,如果POST成功,我想发出一个事件,告诉socket.io为该活动创建一个新的命名空间.

在我的路线文件中:

var eventEmitter = require('events').EventEmitter;    
// Tell socket.io about the new space.
eventEmitter.emit('new activity', {activityId: body.id});
Run Code Online (Sandbox Code Playgroud)

和socket.io:

// When someone creates a new activity
eventEmitter.on('new activity', function (data) {  // this gives and error
  var newActivity = '/activity?' + data.activityId;
  io.of(newActivity).on('connection', function (socket) {

    // Socket.io code for an activity

  });
});
Run Code Online (Sandbox Code Playgroud)

所以我得到的错误是无法调用UNDEFINED的方法,它指的是上面socket.io中的第2行.我想我搞砸了我的要求,也许......或者我不太了解事件的运作方式.

任何帮助,甚至是对Node.js事件的良好阅读的参考都会摇滚!

谢谢!!!

node.js express socket.io

14
推荐指数
2
解决办法
8599
查看次数

如何在一个EC2实例上运行多个应用程序

我有几个小型制作网站和一堆有趣的爱好者/实验应用程序等.我想在一个EC2实例上运行所有这些.

我可以安装node.js,npm,express和couchdb一次,然后在不同的端口上运行每个应用程序,并调整我的域注册表中的DNS设置指向适当的位置吗?

更新:谢谢迈克!对于在EC2上寻找多个IP地址的其他人:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

couchdb amazon-ec2 amazon-web-services node.js

13
推荐指数
2
解决办法
7892
查看次数

timeupdate事件多久会触发一次html5视频

学习html5的东西.这太棒了!想知道timeupdate事件经常发生的频率.

侧面注意:js video api有很多有趣的可能性.例如,可以使用ctrl + F来搜索视频.运行语音识别作为视频处理的一部分,然后创建一个长键值存储,将时间戳作为键和单词作为值,并编写一个函数来搜索这些单词的实例,但返回时间戳并搜索您的视频.无论如何,这只是一个疯狂的想法youtube应该跳上去.

任何有关timeupdate的帮助都会很棒!

javascript video html5

12
推荐指数
1
解决办法
1万
查看次数

如何在Markdown文件中保持日期最新

我想在LICENSE.md文件中加入版权,但我不想每年1月1日回去更新日期,有没有办法:

Copyright [current year] Name 在Markdown?

markdown

10
推荐指数
1
解决办法
6076
查看次数

使用Express.js在Node.js中设置路由的最佳方法

我想知道如何在Express.js中构建路由的选项.这是我的应用目录:

  ??? public
  ?   ??? images
  ?   ??? javascripts
  ?   ?   ??? showLogin.js
  ?   ?   ??? showSignup.js
  ?   ??? stylesheets
  ?       ??? dash.styl
  ?       ??? reset.styl
  ?       ??? space.styl
  ?       ??? style.css
  ?       ??? style.styl
  ?       ??? typography.styl
  ??? routes
  ?   ??? index.js
  ??? views
  ?   ??? dash.jade
  ?   ??? index.jade
  ?   ??? layout.jade
  ?   ??? space.jade
  ??? app.js
  ??? package.json
Run Code Online (Sandbox Code Playgroud)

是否最好将routes/index.js分解为多个单一路径文件?哈哈,我试过这个,显然我并不擅长这个.

另一个选择是在某处引入一个lib目录.人们通常会在哪里做到这一点?

任何其他建议都会摇滚!

node.js express

8
推荐指数
2
解决办法
1万
查看次数

即使在全屏模式下如何显示自定义视频控件

更新:看不到在 Firefox 中工作:(

在现代浏览器中处于全屏模式时如何显示自定义视频控件?

一旦我进入全屏,它们就会消失。我希望它们可用,然后我将编写一些 JavaScript 以将它们隐藏在不活动状态,并在有人摆动鼠标时显示它们。

HTML:

<video#video src="vid.mp4" preload poster="/images/poster.jpg">
  <iframe src="https://youtube.com/embed/id" frameborder="0" allowfullscreen>
</video>
Run Code Online (Sandbox Code Playgroud)

JS:

var bigPlayButton = document.getElementById('big-play-button')
var video = document.getElementById('video')
var playPauseButton = document.getElementById('play-pause')
var fullscreen = document.getElementById('fullscreen')

function toggleFullScreen() {
  if (!document.fullscreenElement) {
      document.documentElement.requestFullscreen()
  } else {
    if (document.exitFullscreen) {
      document.exitFullscreen()
    }
  }
}

fullscreen.addEventListener('click', function (event) {
  if (!video.classList.contains('fullscreen')) {
    video.requestFullscreen()
  } else {
    document.exitFullscreen()
  }
}, false)

// Detect FullScreen changes and adjust button
document.addEventListener('fullscreenchange', function (event) {
  if (document.fullscreenElement) …
Run Code Online (Sandbox Code Playgroud)

html video fullscreen

8
推荐指数
2
解决办法
1万
查看次数

“ aws s3 sync”如何确定文件是否已更新?

当我在终端中背对背运行命令时,它第二次不同步。太好了!不应该这样 但是,如果我运行构建过程并以aws s3 sync编程方式背靠背运行,它将两次同步所有文件,就好像我的构建过程第二次更改了某些内容一样。

无法弄清楚会发生什么。有任何想法吗?

我的构建过程基本上是pug source/ --out static-site/stylus -c styles/ --out static-site/styles/

amazon-s3 amazon-web-services node.js

8
推荐指数
3
解决办法
3264
查看次数