小编rob*_*rob的帖子

如何在node.js应用程序之间共享代码?

我在节点中有几个应用程序,它们共享我编写的几个模块.这些模块不能通过npm获得.我希望能够在应用程序之间自由共享,但我不想复制目录,也不想依赖Git这样做.我也不是很擅长使用符号链接来做到这一点.

我想安排这样的目录:

app1
 server.js
 node_modules
  (public modules from npm needed for app1)
 lib
  (my own modules specific to app1)

app2
 server.js
 node_modules
  (public modules from npm needed for app2)
 lib
  (my own modules specific to app2)

shared_lib
 (my own modules that are used in both app1 and app2)
Run Code Online (Sandbox Code Playgroud)

我看到的问题是shared_lib中的模块似乎对于在哪里找到将在其运行的任何应用程序的node_modules目录中的模块感到困惑.至少我认为这是问题所在.

那么....有什么好办法可以避免重复文件?(请注意,我不关心node_modules中的重复项,因为那些不是我的代码,我不会将它们检入Git等)

node.js npm

66
推荐指数
4
解决办法
2万
查看次数

卸载代码/模块

我很好奇是否有任何好方法在使用后卸载模块.我有些情况下我需要使用带来大量代码的模块,但很少使用它们(比如作为管理工具),但我不愿意使用它们,因为之后它们可能只会浪费内存,可能会更好用于别处.是否有任何方法可以卸载它们,无论是显式还是允许系统在没有使用一段时间时这样做?

node.js

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

将mongoDB与node.js一起使用的最佳方法是什么?

我需要在本地运行带有node.js的MongoDB,以及Nodester和MongoHQ等云服务.我想拥有最小的依赖项,例如我现在不想真正使用Express或Mongoose.基本上,我想尽可能"直接"运行它

我已经使用Macports在本地安装了Mongo,然后使用Mongojs模块从我的node.js应用程序与它通信.这工作正常,在本地运行.但是我看到Mongojs据说包装了mongo-native模块.这是否使Mongo的Macports安装成为多余,或者只是客户端的mongo-native?Mongojs会在Nodester上托管的应用程序中与MongoHQ上托管的数据库进行通信吗?最后,Mongojs是一个不错的选择,还是有更好的选择?

我想有很多相互关联的事情让我感到困惑,并希望解释它们如何融合在一起以及标准做法是什么.对于它的价值,这是个人项目,但我想公开,所以我需要它与廉价或免费托管服务.

javascript mongodb cloud-hosting node.js

15
推荐指数
1
解决办法
6932
查看次数

如何在块元素之间添加垂直间距,但不添加顶部和底部

假设我有一堆P,LI或DIV元素,它们之间没有任何内容.我想控制它们之间的垂直间距,所以它们不能很紧密.但我不想在顶部和底部添加任何空间,因为它由父元素处理,我不需要更多.是否有一种简单的方法可以对所有块元素起作用?

说我有这样的事情:

p {
  margin: 5px 0;
  }
Run Code Online (Sandbox Code Playgroud)

然后

 <div>
   <p>1</p>
   <p>2</p>
   <p>3</p>
   <p>4</p>
 </div>
Run Code Online (Sandbox Code Playgroud)

但我不希望5p高于p 1,或低于p 4,因为div已经有填充,我不想搞砸了.我只想要p 1和p 2之间的10px,p 2和p 3等.

我确信我可以做一些kludgy(我有很多次),但我正在寻找更清洁的东西,我不需要为这种常见情况做很多特殊的套管.

css

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

将文本"ellipsized"绘制到画布上

我需要将文本绘制到画布(自定义视图),并且需要先将其修剪为最大宽度,必要时在末尾添加省略号.我看到你可以为TextView做这件事,但我想在自定义视图的onDraw()中进行,而不必添加子视图.

这可能吗?我知道我可以测量字符串,砍掉一个字符,再次测量等等,直到它的大小合适......而且我确信还有更有效的方法......但我想避免重新发明如果可以的那个轮子.

android

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

setting z order of View with bringChildToFront()

I'm trying to set the z order of a UI element (i.e. a View) so that it will overlap another element, but calling ViewGroup.bringChildToFront() has a weird side effect....it moves the element to be the last item in the parent (the ViewGroup). Is this a bug, expected behavior, or what? More importantly, how can I set the z order or a View without this unfortunate side effect?

android

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

知道地图何时停止滚动(如javascript API中的"moveend")

我需要检测MapView的滚动或缩放时间,例如javascript API中的"moveend"事件.我想等到视图停止移动,然后我可以检测是否需要向服务器查询带有查看矩形的项目,如果是,则发出请求.(实际上我发送的请求比查看矩形略大一些)

显然,如果视图仍在移动,我宁愿不发送数据请求.但更糟糕的是,我不知道我需要发送另一个请求,让地图区域缺少标记.

目前我正在继承MapView并处理onTouchEvent,如下所示:

 public boolean onTouchEvent(android.view.MotionEvent ev) {
        super.onTouchEvent (ev);
        if (ev.getAction() == MotionEvent.ACTION_UP) {
            GeoPoint center = getMapCenter();
            int latSpan = getLatitudeSpan(), lngSpan = getLongitudeSpan();
            /* (check if it has moved enough to need a new set of data)  */    
        }
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道视图是否已经停止,因为滚动往往具有惯性并且可以继续经过"ACTION_UP"事件.

是否有一些我可以使用的事件会在mapview完成移动(或缩放)时提醒我?如果没有,有没有人写过逻辑来检测这个?从理论上讲,我可以通过查看所有动作进行猜测,并稍后设置一些东西并检查它......但是......这看起来很麻烦而且是PITA.但如果有人已经写了...... :)

android google-maps

11
推荐指数
3
解决办法
6916
查看次数

在谷歌地图上做"路线上的兴趣点"

我需要允许旅行者使用谷歌地图绘制路线,然后查询我的兴趣点数据库(比方说,麦当劳的位置),然后显示所有这些位置,它们将在一英里或两英里的路线内服用.问题是,如何有效地获取从谷歌返回的"行车路线"信息(基本上是一对纬度/长线对),然后将其转换为sql查询以获取距离路线一定距离的位置?

它不一定非常精确,并且"当鸟飞过"距离路线很近.我最担心的是合理有效率.

在数据库中,基本上每个条目都具有纬度和经度,因此我可以根据需要更改数据库模式.

举个例子,这个网站做我想做的事情(如果你给出一个起点和终点,它将显示你将要走的高速公路附近的人字形站):http: //www.chevron.com/products /stations/stationfinder/planyourroute.aspx

http://karmatics.com/docs/locationsalongroute.png

sql google-maps geolocation

11
推荐指数
1
解决办法
4704
查看次数

查找正则表达式搜索/匹配的结束索引

如果我将string.match()与正则表达式一起使用,我将返回匹配的字符串,但不会返回匹配发生的原始字符串的索引.如果我做string.search(),我得到索引,但我不一定知道字符串的匹配部分有多长.有两种方法可以做到,所以我可以在原始字符串中获得匹配结束的索引吗?

我想我可以一个接一个地做(下面),假设他们以不同的方式返回相同的结果,但这看起来很丑陋和低效,我怀疑有更好的方法.

var str = "Fear leads to anger. Anger leads to hate. Hate leads to suffering"; 

var rgx = /l[aeiou]+d/i;
var match = str.match(rgx);
if (match && match[0]) {
  var i = str.search(rgx);
  console.log ("end of match is at index " + (i+match[0].length));
  }
Run Code Online (Sandbox Code Playgroud)

javascript regex

9
推荐指数
1
解决办法
5586
查看次数

如何在WebView中独立滚动Android上的行和列(一个Netflix应用程序)?

在Netflix的Android应用程序中,有一个WebView几乎涵盖了整个应用程序的区域.当您从左向右拖动一行时,它将仅滚动该行,并使用良好的惯性滚动来执行此操作.如果向上和向下拖动,它将向上和向下滚动整个页面.

android上的netflix应用程序

我已经成功地在iOS上复制了这个功能(在uiWebView以及Safari中),但在Android上却没有.在Android设备上,我所做的任何事情都要么滚动得很慢,要么你必须非常小心地垂直滚动才能开始触摸行之间的背景区域.两者都不可接受.显然,我不想在javascript中进行滚动动画,因为这太慢了.

我知道Netflix使用WebView做到了,所以....他们使用的技巧是什么?

我尝试过使用css属性(对于行div):

overflow-y: hidden;
-webkit-overflow-scrolling-x: touch
Run Code Online (Sandbox Code Playgroud)

无济于事.

android uiwebview android-webview

9
推荐指数
1
解决办法
1762
查看次数