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');

requestnode モジュール (http クライアント) はどこにありますか: https://github.com/request/request

このタスクを実行してコードを実行すると、すべて問題ありません。変更すると問題が発生しますclient.js。コメントするとalert('1')、watchify start が機能し、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

browserifyの依存関係であるellipticの問題のようです。https://github.com/indutny/elliptic/issues/30を参照してください。

うまくいけば、これはすぐに修正されます。

編集:実際には browserify の問題である可能性があります。8.1.2 に戻して、それが役立つかどうかを確認してみます。

于 2015-02-19T10:54:03.740 に答える