1

我正在使用 gulp、browserify 和 watchify。这是我的“脚本”任务:

gulp.task('scripts', function() {
    var b = watchify(browserify(paths.app.root + '/client.js', watchify.args));
        b.on('update', bundle);

    return bundle();

    function bundle() {
        return b
            .bundle()
            .pipe(source('bundle.js'))
            .pipe(gulp.dest(paths.build.root + '/scripts'));
    }
});

client.js好像:

require('request');
alert('1');

request节点模块(http客户端)在哪里: https ://github.com/request/request

当我运行此任务并执行代码时 - 一切都很好。当我改变时问题就开始了client.js。当我发表评论alert('1')时, watchify 开始它的工作并bundle()再次运行。当我在浏览器上重新加载页面时,我收到以下 javascript 异常:

Uncaught TypeError: Cannot read property 'version' of undefined

使用以下堆栈跟踪:

/Users/me/project/node_modules/browserify/node_modules/crypto-browserify/node_modules/browserify-sign/node_modules/elliptic/lib/elliptic.js.../package.jsonbundle.js:19825  

/Users/me/project/node_modules/browserify/node_modules/crypto-browserify/node_modules/create-ecdh/node_modules/elliptic/lib/elliptic.js.../package.jsonbundle.js:1

/Users/me/project/node_modules/browserify/node_modules/crypto-browserify/node_modules/create-ecdh/ecdh.js.bn.js

/Users/me/project/node_modules/browserify/node_modules/crypto-browserify/node_modules/create-ecdh/inject.js../ecdh

/Users/me/project/node_modules/browserify/node_modules/crypto-browserify/index.js.browserify-aes

/Users/me/project/node_modules/request/lib/helpers.js._process

/Users/me/project/node_modules/request/index.js../lib/cookies

./client.js.request

知道browserify / request有什么问题吗?

4

1 回答 1

0

看起来这是 elliptic 的问题,它是 browserify 的一个依赖项。见https://github.com/indutny/elliptic/issues/30

希望这会很快得到解决。

编辑:这实际上可能是 browserify 的问题。我会尝试恢复到 8.1.2,看看是否有帮助。

于 2015-02-19T10:54:03.740 回答