小编aso*_*erg的帖子

是否可以将标志传递给Gulp以使其以不同方式运行任务?

通常在Gulp任务中看起来像这样:

gulp.task('my-task', function() {
    return gulp.src(options.SCSS_SOURCE)
        .pipe(sass({style:'nested'}))
        .pipe(autoprefixer('last 10 version'))
        .pipe(concat('style.css'))
        .pipe(gulp.dest(options.SCSS_DEST));
});
Run Code Online (Sandbox Code Playgroud)

是否可以将命令行标志传递给gulp(这不是任务)并让它根据具体条件运行任务?例如

$ gulp my-task -a 1
Run Code Online (Sandbox Code Playgroud)

然后在我的gulpfile.js中:

gulp.task('my-task', function() {
        if (a == 1) {
            var source = options.SCSS_SOURCE;
        } else {
            var source = options.OTHER_SOURCE;
        }
        return gulp.src(source)
            .pipe(sass({style:'nested'}))
            .pipe(autoprefixer('last 10 version'))
            .pipe(concat('style.css'))
            .pipe(gulp.dest(options.SCSS_DEST));
});
Run Code Online (Sandbox Code Playgroud)

javascript node.js gulp

365
推荐指数
6
解决办法
15万
查看次数

ngrok如何在防火墙后工作?

Ngrok(https://ngrok.com/)应该允许您通过转发向世界范围的Web公开本地端口和服务.但是,如果我在本地计算机上打开端口80,如下所示:

ngrok 80
Run Code Online (Sandbox Code Playgroud)

我回来了:

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3a4bfceb.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3a4bfceb.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms
Run Code Online (Sandbox Code Playgroud)

据我所知,对http://3a4bfceb.ngrok.com的任何请求都将通过端口80进入我的本地计算机,但是如果我坐在阻止传入流量的NAT /防火墙后面(这是一种非常常见的情况).ngrok是否启动轮询请求以确定何时收到数据?

unix linux networking go

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

使用gulp-browserify为我的React.js模块我在浏览器中得到'require is not defined'

我正在尝试使用gulp-browserify生成一个bundle.js文件,该文件可以包含在客户端的浏览器中并开始呈现React组件.

这是我的App.js文件:

/** @jsx React.DOM */
var React = require('react');

var App = React.createClass({
  render: function() {
    return <h1>Hello {this.props.name}!</h1>;
  }
});

module.exports = App;
Run Code Online (Sandbox Code Playgroud)

还有我的package.json:

  "name":"hellosign-gulp",
  "version":"0.1.1",
  "dependencies": {
    "gulp": "3.5.x",
    "gulp-browserify": "0.5.0",
    "reactify": "~0.8.1",
    "react": "^0.10.0",
    "gulp-react": "0.2.x"
  }
}
Run Code Online (Sandbox Code Playgroud)

和我的gulpfile

var   gulp = require('gulp'),
  react = require('gulp-react'),
  browserify = require('gulp-browserify');


gulp.task('brow-test', function() {
    // Single entry point to browserify
    gulp.src('./src/App.js', {read: false})
        .pipe(browserify({
          insertGlobals : true,
          transform: ['reactify'],
          extensions: ['.jsx'],
          debug :false.
        }))
        .pipe(gulp.dest('.'))
});
Run Code Online (Sandbox Code Playgroud)

现在,当我运行'brow-test'时,我将输出文件重命名为bundle.js,并将其包含在浏览器的HTTP响应中.bundle.js文件非常大,所以我不会在这里包含它,但浏览器最终会抛出错误

未捕获的ReferenceError:未定义require …

javascript node.js browserify reactjs gulp

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

在继续下一个任务之前,让gulp同步写入文件

gulpfile.js

gulp.task('browser-bundle', ['react'], function() {
...

});


gulp.task('react', function(){
  gulp.src(options.JSX_SOURCE)
      .pipe(react())
      .pipe(gulp.dest(options.JSX_DEST))
});
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我具有浏览器捆绑任务,具体取决于响应任务.我相信这是按预期工作的,因为在输出中我看到了这个:

[gulp] Running 'react'...
[gulp] Finished 'react' in 3.43 ms
[gulp] Running 'browser-bundle'...
Run Code Online (Sandbox Code Playgroud)

但是,虽然响应任务已完成,但它应该写入操作系统的文件还没有完成.我注意到,如果我在浏览器bundle命令中放入一个sleep语句,那么它会按预期工作,但这对我来说似乎有点笨拙.

如果我希望在将文件(来自gulp.dest)同步写入磁盘之前不认为react任务已完成,我该怎么做?

javascript node.js gulp

16
推荐指数
2
解决办法
4992
查看次数

Python请求模块发送JSON字符串而不是x-www-form-urlencoded param字符串

我的印象是使用x-www-form-urlencoded规范的POSTS应该在帖子的正文中发送一个URL编码的参数字符串.但是,当我这样做

data = json.dumps({'param1': 'value1', 'param2': 'value2'})
Requests.post(url, data=data)
Run Code Online (Sandbox Code Playgroud)

接收端请求的主体如下所示:

{"param1": "value1", "param2": "value2"}
Run Code Online (Sandbox Code Playgroud)

但我期待得到这个

param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

我如何获得以第二种形式发送数据的请求?

python python-requests

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

使用PHPRedis和PHP-FPM时如何关闭或重置pconnect()连接?

使用PHPRedis和Apache PHP-FPM我正在使用pconnect()调用来重用连接 - 过去它有助于不让连接数量过高.但是,在我们的主要redis节点发生故障的情况下 - 我们会自动将从属设备提升为主设备,旧主设备将变为只读状态.然而,pconnect()仍然保持与旧maste的连接 - 所以set()命令开始失败.

我们需要的是一种在不杀死进程的情况下拆除这些持久连接的方法.有任何想法吗?

php linux apache redis

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

如何在gulp中使用browserify时向浏览器公开"require"?

当我有一个看起来像这样的文件x.js:

x.js

module.exports = function (n) { return n * 111 }
Run Code Online (Sandbox Code Playgroud)

我从命令行运行browserify,如下所示:

browserify -r ./x.js > bundle.js
Run Code Online (Sandbox Code Playgroud)

我得到一个看起来像这样的输出文件(粗略地):

require=(function e(t,n,r){function ......
./App.jsx":[function(require,module,exports){
module.exports=require('0+DPR/');
},{}]},{},[])
Run Code Online (Sandbox Code Playgroud)

然后在我的浏览器代码中我可以这样做:

<html>
  <head>
    <title>React server rendering example</title>
    <script src="static/bundle.js"></script>
  </head>
  <body>
    Welcome to the React server rendering example. Here is a server-rendered React component:
    <div id="53a442ff8b39d"></div><script>
    var x = require('./x.js');
    console.log(x(3))
</script>  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我实际上有两个问题:

1)这在浏览器中不起作用我收到错误:"未捕获错误:找不到模块'./x.js'".为什么会这样?

2)我实际上想要使用vinyl-source-stream在gulp中运行它.我已经尝试在我的gulpfile中做这样的事情,但它不起作用.有任何想法吗?我收到错误'require is not defined'

var   gulp = require('gulp'),
  browserify = require('browserify'),
  source = require('vinyl-source-stream');

var b = browserify({
    entries: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js browserify gulp

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

防止用CSS滚动div?

我正在看这个演示页面:

http://www.ymc.ch/sandbox/hamburger/mobile-menu-demo.html

其背后有这个代码:

https://github.com/ymc-thzi/mobile-menu-hamburger

一般来说它工作得很好但是当我的macbook上的菜单打开时,我可以用两根手指滚动并移动白色的身体div.我怎么能阻止使用CSS?

html javascript css

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

如何通过"hunk"合并Git中的分支

这是场景.我在"master"分支上创建了一个"dev"分支,并做了一些新的提交.其中一些更改仅与我的本地开发计算机相关.例如,我将URL变量更改为指向本地apache服务器,而不是在线发布的真实URL(我在测试阶段为此提高了速度).现在我想将我的更改从dev分支合并到master分支中,但不是那些只在我的本地环境中有意义的更改.

我设想了类似merge -patch的东西,它允许我选择我想要逐行合并的更改.

或者也许我可以检查"主"分支,但将文件保存在我的工作目录中,因为它们在"dev"分支中,然后执行git add --patch.那会有用吗?

git github

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

在 Redis 中,您将如何更新密钥并重置原始 TTL?

我正在通过 PHPRedis(实际上是围绕 PHPRedis 构建的更高级别的包装器)与 Redis 进行交互。我想更新一个键并在数据库中将其重置,但是 TTL 应该在程序中的当前点重置为原始值,我的类不知道原始 TTL 是什么。

所以说原来的 TTL 是 12 小时。我想做这样的事情:

redis->get($key)
$original_ttl = // figure it out
$new_value = something
redis->set($key, $new_value, $original_ttl)
Run Code Online (Sandbox Code Playgroud)

然后我们最终得到引用新值的原始键和另外 12 小时的 ttl。这可能吗?

php redis

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

标签 统计

javascript ×5

gulp ×4

node.js ×4

browserify ×2

linux ×2

php ×2

redis ×2

apache ×1

css ×1

git ×1

github ×1

go ×1

html ×1

networking ×1

python ×1

python-requests ×1

reactjs ×1

unix ×1