小编Tho*_*ggi的帖子

将对象绑定到Promise.then()参数的正确方法

我发现了一个很难的方法,就是不能简单地将一个对象的函数传递给Bluebird then.我假设Bluebird then正在做一些魔术,并在匿名函数中包装传入的函数.所以我附加了一个.bind函数,它工作.这是用蓝鸟做这个的正确方法吗?还是有更好的方法吗?

var Promise = require("bluebird")

var Chair = function(){
  this.color = "red"
  return this
}


Chair.prototype.build = function(wood){
  return this.color + " " + wood
}

var chair = new Chair()

//var x = chair.build("cherry")

Promise.resolve("cherry")
  .then(chair.build.bind(chair)) // color is undefined without bind
  .then(console.log)
Run Code Online (Sandbox Code Playgroud)

我知道这些都不是异步的,所以请使用同步示例,我的用法是异步.

javascript this node.js promise bluebird

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

当我推送到服务器时,Git正在改变我的文件权限

我正在使用git来管理服务器上的网站.

我有一个本地存储库,如下所示

local@workstation:myapp$ ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 16
755 drwxr-xr-x@ 18 thomas  staff   612 Jun 13 15:35 application
755 drwxr-xr-x@ 11 thomas  staff   374 Jun 12 16:25 assets
644 -rw-r--r--@  1 thomas  staff  6399 Jun 22 11:45 index.php
755 drwxr-xr-x@ 10 thomas  staff   340 May 14 15:22 system
Run Code Online (Sandbox Code Playgroud)

我在服务器上有一个裸存储库,用于post-receive将存储库指向apache前面.Apache的public文件夹内容低于 - 不是裸存储库.

root@server:/srv/public/myapp# ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 20
700 drwx------ 15 root root 4096 Jun 27 11:31 application
700 drwx------ 10 …
Run Code Online (Sandbox Code Playgroud)

git permissions file-permissions

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

从Node.js输出到Chrome控制台

我正在寻找一种方法将Node变量直接输出到google chrome浏览器控制台.console.log()在客户端工作的方式相同.对于php这样的东西.这将大大加快发展.

console google-chrome node.js

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

快递app.get文档

我正在寻找app.get有关express.js功能的一些文档.

app.get(
    '/path', 
    middleware(),
    function(req, res) {
        res.redirect('/');
    }
);
Run Code Online (Sandbox Code Playgroud)

上面的例子有三个参数.普通文档只显示两个.我对这个中间参数的作用以及如何使用它感兴趣.

middleware node.js express

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

通过反应发出和处理全球事件

我正在玩一些反应来建立一个"添加到购物车按钮".这是我的代码.

var ProductPurchase = React.createClass({
  handleSubmit: function(e){
    e.preventDefault();
    $.ajax({
      url: "/cart/add.js",
      method: "post",
      dataType: "json",
      data: {
        "id": this.props.variantId,
        "quantity": this.props.quantity,
      },
      success: function(data) {
        // emit cart added event
      }.bind(this),
      error: function(xhr, status, err) {
        // emit error event (cart added)
      }.bind(this)
    });
  },
  getDefaultProps: function(){
    return {
      quantity: 1,
      variantId: 231634908,
      buttonText: "Add to cart"
    }
  },
  render: function() {
    return (
      <div className="productPurchase">
        <form action="/cart/add" method="post" enctype="multipart/form-data" onSubmit={this.handleSubmit}>
          <input type="hidden" name="quantity" value={ this.props.quantity } />
          <input type="hidden" …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs reactjs-flux

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

如果在iframe中,则以不同方式显示页面(css)

有没有办法,正如标题所说"在iframe中以不同方式显示页面(css)".我正在寻找一个jQuery/JavaScript方法,如果该网站在iframe中,可能会使用不同的css样式表.有任何想法吗?

html javascript css iframe jquery

18
推荐指数
3
解决办法
9619
查看次数

分离单元测试和集成测试

我有兴趣创建完整的模拟单元测试,以及检查某些异步操作是否已正确返回的集成测试.我想要一个用于unit测试的命令和一个用于integration测试的命令,我可以在我的CI工具中单独运行它们.最好的方法是什么?像mocha和jest这样的工具似乎只关注一种做事方式.

我看到的唯一选择是使用mocha并在目录中有两个文件夹.

就像是:

  • __unit__
  • __integration__

然后我需要一些方法告诉mocha运行目录__unit__中的所有测试src,另一个告诉它运行所有__integration__测试.

思考?

testing mocha.js node.js jestjs

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

模块内的相对文件系统写入路径

我有一个可执行节点/ javascript脚本,它有一个调试布尔值,如果设置为true,将写入几个文件.此可执行文件也是节点模块.根据运行脚本的用户的工作目录,似乎该函数找不到要将文件写入的目录.

该模块的结构如下

output/
lib/
    helpers.js
index.js
Run Code Online (Sandbox Code Playgroud)

我最初的推理是拥有这条道路.

helper.write = function(data,filename){
    if(typeof data !== "string") data = JSON.stringify(data);
    fs.writeFileSync("./output/"+filename, data);
};
Run Code Online (Sandbox Code Playgroud)

但是,这在node_module文件夹中运行脚本时有效

fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data);
Run Code Online (Sandbox Code Playgroud)

像这样

node ./my_app/node_modules/the_module/index.js
Run Code Online (Sandbox Code Playgroud)

如果模块在另一个使用该库的可执行文件中使用,则会更加混乱.

node ./my_app/run.js
Run Code Online (Sandbox Code Playgroud)

有没有办法独立于所有这些变量保存文件?

path relative-path fs node.js

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

如何在 astro 中将服务器变量传递给客户端 JS?

我找到了这个github) google auth 的 html 起始页,我想将其制作成 astro 组件。我想将其转换为.astro文件,并能够从后端传递 CLIENT_ID 和 API_KEY 的变量。我

这是来自谷歌的 HTML 代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Google Calendar API Quickstart</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <p>Google Calendar API Quickstart</p>

    <!--Add buttons to initiate auth sequence and sign out-->
    <button id="authorize_button" onclick="handleAuthClick()">Authorize</button>
    <button id="signout_button" onclick="handleSignoutClick()">Sign Out</button>

    <pre id="content" style="white-space: pre-wrap;"></pre>

    <script type="text/javascript">
      /* exported gapiLoaded */
      /* exported gisLoaded */
      /* exported handleAuthClick */
      /* exported handleSignoutClick */

      // TODO(developer): Set to …
Run Code Online (Sandbox Code Playgroud)

astrojs

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

如何从JavaScript中的URL中提取主机?

捕获域直到结束字符$, \?, /, :.我需要一个能够捕获domian.com所有这些的正则表达式.

domain.com:3000
domain.com?pass=gas
domain.com/
domain.com
Run Code Online (Sandbox Code Playgroud)

javascript url parsing node.js

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