小编Dan*_*ley的帖子

如何使用npm在当前目录中安装package.json依赖项

我有一个网络应用程序:fooapp.我有一个package.json根.我想在特定的安装中安装所有依赖项node_modules directory.我该怎么做呢?

我想要的是

可以说我有两个widget依赖项.我想最终得到这样的目录结构:

node_modules/
  widgetA
  widgetB
fooapp/
  package.js
  lib
  ..
Run Code Online (Sandbox Code Playgroud)

我得到了什么

我跑的时候npm install fooapp/ 得到这个:

node_modules/
  fooapp/
    node_modules/
      widgetA
      widgetB
    package.js
    lib/
    ..
fooapp/
  package.js
  lib/
  ..
Run Code Online (Sandbox Code Playgroud)

npm在node_modules目录中创建我的app目录的副本,并将这些包安装在另一个 node_modules目录中.

我理解这对于安装包是有意义的.但我不是require()我的网页应用程序,我直接运行它.我正在寻找一种简单的方法来将我的依赖项安装到特定的node_modules目录中.

deployment dependencies node.js npm

187
推荐指数
2
解决办法
22万
查看次数

Ruby中的私有模块方法

我有两个问题

最佳实践

  • 我有一个算法,使用公共接口对数据结构执行某些操作
  • 它目前是一个具有许多静态方法的模块,除了一个公共接口方法之外都是私有的.
  • 有一个实例变量需要在所有方法之间共享.

这些是我能看到的选项,哪个最好?:

  • 模块与静态(红宝石"模块")的方法
  • 使用静态方法的
  • Mixin模块包含在数据结构中
  • 重构修改该数据结构的算法部分(非常小)并使其成为调用算法模块的静态方法的mixin

技术部分

有没有办法制作私有模块方法

module Thing
  def self.pub; puts "Public method"; end
  private
  def self.priv; puts "Private method"; end
end
Run Code Online (Sandbox Code Playgroud)

private中似乎有没有什么影响,我仍然可以调用Thing.priv没有问题.

ruby access-specifier private-methods

99
推荐指数
5
解决办法
7万
查看次数

返回Ruby正则表达式的第一场比赛

我正在寻找一种在Ruby中对字符串执行正则表达式匹配的方法,并在第一次匹配时使其短路.

我正在处理的字符串很长,看起来标准方式(match方法)会处理整个事物,收集每个匹配,并返回包含所有匹配项的MatchData对象.

match = string.match(/regex/)[0].to_s
Run Code Online (Sandbox Code Playgroud)

ruby regex string

95
推荐指数
4
解决办法
7万
查看次数

使用npm来安装或更新所需的软件包就像bundle for ruby​​gems一样

我喜欢Bundler,它非常善于依赖管理.我爱npm,安装节点包很容易!我有一个nodejs应用程序,并希望能够指定我的应用程序依赖项,并在我部署我的应用程序的任何地方轻松安装/更新它们.这不是我发布的图书馆,它是一个完整的网络应用程序.

我知道这个npm bundle命令,但这似乎只是覆盖了安装包的目录.

我习惯以这种方式使用bundler:

# Gemfile
gem "rails", "3.0.3"
Run Code Online (Sandbox Code Playgroud)

仅在主机上存在rails v3.0.3和任何其他必需的gem时才会存在

> bundle install
Run Code Online (Sandbox Code Playgroud)

如何用npm实现类似的功能?

javascript dependencies bundler node.js npm

87
推荐指数
3
解决办法
9万
查看次数

使用Mongoose从MongoDB文档中删除密钥

我正在使用Mongoose Library通过node.js访问MongoDB

有没有办法从文档中删除密钥?即不只是将值设置为null,但删除它?

User.findOne({}, function(err, user){
  //correctly sets the key to null... but it's still present in the document
  user.key_to_delete = null;

  // doesn't seem to have any effect
  delete user.key_to_delete;

  user.save();
});
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js document-database

83
推荐指数
4
解决办法
7万
查看次数

从数组创建哈希的最简洁方法

我似乎经常遇到这种情况.我需要使用数组中每个对象的属性作为键从数组构建一个Hash.

让我们说我需要一个哈希的例子使用ActiveRecord objecs键入他们的ID共同的方式:

ary = [collection of ActiveRecord objects]
hash = ary.inject({}) {|hash, obj| hash[obj.id] = obj }
Run Code Online (Sandbox Code Playgroud)

其他方式:

ary = [collection of ActiveRecord objects]
hash = Hash[*(ary.map {|obj| [obj.id, obj]}).flatten]
Run Code Online (Sandbox Code Playgroud)

Dream Way:我可以并且可能自己创建这个,但是Ruby或Rails中有什么东西会这样吗?

ary = [collection of ActiveRecord objects]
hash = ary.to_hash &:id
#or at least
hash = ary.to_hash {|obj| obj.id}
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash ruby-on-rails

28
推荐指数
4
解决办法
3万
查看次数

如何底部对齐可以增长的div并使其容器滚动

我试图让这个布局没有javascript发生.

我有一个父div和一个子div,其中包含不断追加的内容.我希望孩子在父母内部对齐并垂直生长.我还希望父级div在子级的高度>父级的高度时滚动.

子项从底部扩展,导致父级滚动

第一部分非常简单:

#child { position:absolute; bottom: 0 }
Run Code Online (Sandbox Code Playgroud)

第二部分很难,因为绝对定位的元素在内容流之外并且不会触发滚动.

父div跨越浏览器窗口的整个高度(我在设计时不知道)

html css layout

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

Ruby:Object.to_a替代品

我需要将传入的参数(单个对象或集合)转换为Array.我不知道论点是什么.如果它已经是一个数组,我想留下它,否则从它创建一个单元素数组.我想要允许method(:objs => obj)method(:objs => [obj1, obj2])

这似乎是最好的方法(Array#to_a返回self):

arg = arg.to_a
Run Code Online (Sandbox Code Playgroud)

但红宝石文档说Object#to_a很快就会过时了.有方便的更换吗?

还有比这更简洁的东西吗?

arg = arg.respond_to?(:to_a) ? arg.to_a : [arg]
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何在Ruby中更改DateTime的时区?

在保持时区不变的同时读取,写入和序列化日期和时间变得令人讨厌.我正在使用Ruby(和Rails 3.0)并试图改变DateTime的时区.(到UTC)但不是时间本身.

我要这个:

t = DateTime.now
t.hour
-> 4
t.offset = 0
t.hour
-> 4
t.utc?
-> true
Run Code Online (Sandbox Code Playgroud)

我最接近的是这个,但它并不直观.

t = DateTime.now
t.hour
-> 4
t += t.offset
t = t.utc
t.hour
-> 4
t.utc?
-> true
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

ruby timezone datetime ruby-on-rails ruby-on-rails-3

25
推荐指数
5
解决办法
4万
查看次数

Rails:'schema.rb'中的版本号是用于什么的吗?

既然Rails有时间戳迁移,那么顶部的单个版本号/db/schema.rb似乎毫无意义.在处理多个开发人员或多个分支时,有时版本号最终不正确.

Rails甚至:version不再使用该参数了吗?

它是否有任何不正确的错误(如:它不反映最近应用的提交的时间戳)?

例:

ActiveRecord::Schema.define(:version => 20100417022947) do
  # schema definition ...
end
Run Code Online (Sandbox Code Playgroud)

database migration ruby-on-rails

23
推荐指数
2
解决办法
9339
查看次数