小编div*_*mod的帖子

如何用和声标志启动全局npm模块

我写了一个npm模块,可以全局安装dm-npm.

我喜欢在该模块中使用co.

我怎么能告诉模块它在全局启动时以和声标志运行?

这是package.json:

{
  "name": "dm-npm",
  "version": "0.0.3",
  "description": "npm helper",
  "main": "index.js",
  "scripts": {
    "test": "mocha --reporter nyan",
    "start": "node --harmony ./bin/dm-npm"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/divramod/dm-npm.git"
  },
  "keywords": [
    "npm",
    "template"
  ],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/divramod/dm-npm/issues"
  },
  "homepage": "https://github.com/divramod/dm-npm",
  "devDependencies": {
    "chai": "^2.1.0",
    "mocha": "^2.1.0"
  },
  "dependencies": {
    "co": "^4.4.0",
    "co-prompt": "^1.0.0",
    "colors": "~1.0.3",
    "shelljs": "^0.3.0"
  },
  "bin": {
    "dmnpm": "./bin/dm-npm"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用co函数运行时出现以下错误消息:

> $ dmnpm init                                                                                                                         
/usr/local/lib/node_modules/dm-npm/index.js:152 …
Run Code Online (Sandbox Code Playgroud)

node.js npm ecmascript-harmony co

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

nodejs child_process.spawnSync或child_process.spawn包含在yieldable生成器中,返回输出

从一段时间以来,我试图达到目前为止对我不起作用的东西.

使用nodejs,我喜欢运行交互式sh命令,并在命令退出后使用sh-command输出.我喜欢编写一个可屈服的生成器函数来包装交互式shell命令的运行并返回shell命令的输出.

方法1:shelljs

  • shelljs
  • 我在shelljs上取得了一些成功,但在某些时候它还没有进一步发展.
  • 问题1:是否有可能获得shelljs到我可以继承stdio并使shelljs函数可以产生的程度?

方法2:child_process.spawnSync

  • child_process.spawnSync
  • 最后我发现了child_process.spawnSync并且很高兴,至少我可以毫无问题地运行交互式sh命令 options: { stdio: 'inherit' }
  • 但我还没有找到如何取回child_process.spawnSync的输出.
  • 问题2:如何将spawnSync包装到返回child_process输出的生成器函数中?

方法3:共同子过程

  • 我也尝试过共同孩子的过程.
  • 它似乎运行,但不与stdio交互.有一个问题,我真的不明白.
  • 问题3:有人可以解释我/发布一个示例,共同子进程如何与stdio继承一起使用.

方法4:使用bluebird promisify child_process.spawn()

  • 如果child_process.spawn()是可以实现的,我在bluebird上打开了一个问题

所以我的问题.有人可以给我发一个如何运行交互式shell命令的示例,该命令可以包含在返回shell命令输出的可屈服生成器函数中吗?我对新方法持开放态度.

我创建了一个npm模块,可以在github上找到,你可以在它上面进行分配和贡献.

thx提前.

spawn child-process node.js bluebird co

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

从私人gitlab存储库从bower存储库安装

我尝试安装一个我注册到当地私人凉亭实例的凉亭回购.git主机是一个私有的gitlab实例.

bower安装bower-test给我错误

bower bower-test#*          not-cached git://github.com/EvandroLG/bower-test.git#*
bower bower-test#*             resolve git://github.com/EvandroLG/bower-test.git#*
bower bower-test#*             ECMDERR Failed to execute "git ls-remote --tags --heads     git://github.com/EvandroLG/bower-test.git", exit code of #128

Additional error details:
     fatal: remote error: 
     Repository not found.
Run Code Online (Sandbox Code Playgroud)

我知道private-bower运行正常,因为我注册了一个我可以安装的github.com存储库.

我的.bowerrc

{
  "registry" : {
    "register" : "http://localhost:5678"
  },
"search": [
      "http://localhost:5678"
   ]
}
Run Code Online (Sandbox Code Playgroud)

我可以跑

bower install http://myprivategitlabip/bower/bower-test.git
Run Code Online (Sandbox Code Playgroud)

成功(提供证书).

但我喜欢跑步

bower install bower-test
Run Code Online (Sandbox Code Playgroud)

有什么建议?

git gitlab bower bower-install

6
推荐指数
1
解决办法
1144
查看次数

如何检测Vimscript中是否存在特定缓冲区?

我想检测Vimcript窗口中是否已经打开(可见)特定文件.如果文件在vim窗口中没有打开(可见),我想通过它打开它:edit.

我有一个扩展文件路径的变量,并想检查具有该扩展文件路径的文件是否已在Vim窗口中打开(可见).

我怎样才能做到这一点?

关于这一点的第二个问题是我如何获得包含所有打开(可见)文件和所有不可见但打开文件(缓冲区)的列表.

我认为这主要是关于缓冲区.

解决方案(2016.02.18)

thx @muru用于指向所需的功能.我的测试解决方案在当下看起来像那样

function! ChooseBuffer(buffername)
    let bnr = bufwinnr(a:buffername)
    if bnr > 0
       :exe bnr . "wincmd w"
    else
       echo a:buffername . ' is not existent'
       silent execute 'split ' . a:buffername
    endif
 endfunction
:nnoremap <leader><leader>d :call ChooseBuffer("divramod.vim")<cr>
:nnoremap <leader><leader>1 :call ChooseBuffer("vim/plugin/divramod/test1.vim")<cr>
:nnoremap <leader><leader>2 :call ChooseBuffer("vim/plugin/divramod/test2.vim")<cr>
:nnoremap <leader><leader>t :call ChooseBuffer("vim/plugin/divramod/test.vim")<cr>
Run Code Online (Sandbox Code Playgroud)

似乎是这样,bufwinnr()发现"divramod.vim"尽管事实上,缓冲区列表中的缓冲区名称被称为"vim/plugin/divramod/divramod.vim".它似乎使用正则表达式在buffername中搜索.我必须进行实验,当打开两个具有相同文件名但文件路径不同的缓冲区时会发生什么.

vim

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

如何使用electron和pouchdb创建持久的脱机数据库

我打算写一个桌面应用程序,应该能够存储其大量数据持久和本地.

我想用电子写这个应用程序.之后,我想将应用程序移植到移动设备上.我正在尝试使用nativescript和angular-advanced-seed,它试图在不同的平台上重用代码.

作为数据库工具,我想使用pouchdb,因为我不想让用户设置/安装一个额外的工具来为桌面应用程序单独运行一个数据库.

此外,我喜欢使用pouchdb,因为它具有与couchdb相同的良好同步功能,当需要与在线数据库同步时,我可以在项目的后期使用它.

现在我的问题

  1. 我如何使用pouchdb在本地存储数据(它可能是一大堆超过localstorage限制的数据),即使用户已经停止了应用程序.当用户下次启动桌面应用程序时,我需要在应用程序中加载该数据.我使用leveldb阅读有关pouchdb的信息,但我找不到持久的数据.

  2. 是否有可能在电子中有一个在电子应用程序内运行的数据库,所以我不需要在用户的PC /移动应用程序上安装例如mongodb?

  3. 如果有一个可以在移动设备上运行的解决方案(ios/android)也很不错,这样我就可以在那里使用离线功能,而无需使用不同的方法进行数据存储

  4. 是否有其他解决方案(组合)数据库工具来满足我的需求:A.海量数据的相同离线存储功能,超过了本地存储对桌面(电子)/移动(Android/IOS)和Web和B的空间限制. sync-function到在线挂件数据库,如(pouchdb/couchdb或minimongo/mongodb)C.应用程序内数据库应该具有相同的查询api,如server-database(minimongo/mongodb)

提前为你的tipps.

couchdb mongodb nosql pouchdb electron

6
推荐指数
1
解决办法
3520
查看次数

tmux:如何在光标下打开文件

我是一个 vim 用户并且习惯了这个gf命令,它在光标下打开文件。

现在我想问一下,tmux 是否有类似的东西。

我可以浏览 tmux 窗格,并且经常发生光标下有文件路径的情况。现在我喜欢有可能用 vim 在光标下打开那个文件。

  • A:在当前窗口
  • B: 在另一个包含并打开 vim 的窗口中

在调用特殊键组合时,也许有可能在该导航模式下运行 sh 脚本?这将使我可以像在 vim 中使用 vimscript 一样编写自己的脚本。

我已经在 mux .tmux.conf 中使用了一些 vi 复制模式

# VIM
# ===================================================================

# Vimlike copy mode.
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection

# Enable vi keys.
setw -g mode-keys vi

# https://coderwall.com/p/4b0d0a/how-to-copy-and-paste-with-tmux-on-ubuntu
bind -t vi-copy y copy-pipe "xclip -sel clip -i"
Run Code Online (Sandbox Code Playgroud)

vim zsh sh tmux tmuxinator

5
推荐指数
1
解决办法
1837
查看次数

rxjs observable.of(object)返回{"_ isScalar":"","value":{},"scheduler":""}而不是值

我对rxjs很新.

我试图创建一个运行角度2 http请求的函数,如下所示:

syncFromApi$() {

  // create Headers
  ...

  let ob$ = this.http.post(
    CONFIG_APP.apiEndpoint + '/sync/app',
    '',
    { headers: headers }
  )
  .map((response:Response) => {
    return Observable.of({type: "success", payload: response.json()});
  })
  .catch(function (err:Response) {
    return Observable.of({type: "error", payload: err.json()});
  });

  return ob$;
}
Run Code Online (Sandbox Code Playgroud)

简而言之,当成功时,我返回一个Object,表示请求是否成功.之后,我想根据返回的对象切换地图:

let o$ = syncFromApi$()
  .switchMap((value) => {
    console.log("value", JSON.stringify(value, null, 0));
    if (data.type === 'success') {
      return Observable.of(1);
    } else if (data.type === 'error') {
      return Observable.of(2);
    }
  });
Run Code Online (Sandbox Code Playgroud)

这就是我面临的问题.console.log(...)输出如下对象:

value, {"_isScalar": true, "value": THIS_IS_WHAT_I_NEED_AS_VALUE, "scheduler": …
Run Code Online (Sandbox Code Playgroud)

observable rxjs angular

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

vim:转义字符串以进行替换(vimscript)

我目前编写了一个在 vim 中编程时经常需要的替代函数。

我已经编写的函数看起来像这样,并且对于搜索和替换内部没有任何特殊字符的字符串来说基本上可以正常运行。我已经实现了自动转义“/”。我的问题是,我该如何调整该行中的 escape() 函数

execute ':silent :argdo %s/' . escape(searchPattern, '/') . '/' . escape(replacePattern, '/') . '/ge'
Run Code Online (Sandbox Code Playgroud)

那么所有必须转义的字符都会自动转义吗?

" MAIN FUNCTION
" inspired by http://vimcasts.org/episodes/project-wide-find-and-replace/
function! SubstituteProjectwide(searchInput)
  :set hidden
  let cwd = getcwd()
  let filename=expand('%:p')
  call inputsave()
  let searchPattern = input('Search for: ', a:searchInput)
  let replacePattern = input('Replace "' . searchPattern . '" with: ')
  let filePattern = input('Filepattern: ', cwd . '/**/*.*')
  call inputrestore()
  execute ':silent :args ' . filePattern
  execute ':silent :vimgrep /' . searchPattern …
Run Code Online (Sandbox Code Playgroud)

vim escaping substitution

3
推荐指数
1
解决办法
5180
查看次数

aws ec2:如何从ubuntu实例中了解公共ip

我创建了一个amazon-web-services实例并使用了Ubuntu 14.04亚马逊机器映像.

现在我可以ssh到该机器并使用shell运行不同的命令.

我现在的问题是,如何从ssh-session内部找到该机器的公共IP?

我试过用

netstat

和

ifconfig

但无法找到我通过ssh锁定的公共IP.

有没有人能告诉我如何找出,我以前用过的ip进入机器?

提前致谢!

ssh ubuntu amazon-ec2 amazon-web-services ubuntu-14.04

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