2016-05-04 8 views
0

何かを見逃したり、間違えてしまったかどうかわかりません。しかし、モジュールを必要とするのは空のオブジェクトだけです。ブラウザがGulpで正常に動作していない

これは私のプロジェクトの単なるサンプルです。私が使用している

ツール:ここ

gulp - 3.9.1 
browserify - 13.0.0 
vinyl-source-stream - 1.1.0 

が私の作業ディレクトリは次のとおりです。

root/ 
    dist/ 
    src/ 
    external.js 
    main.js 
gulpfile.js 


main.js

var External = require('./external.js'); 
console.log(External); 


external.js

function Hello() { 
    return 'Hello from the otherside!'; 
} 

module.exports = { 
    testFunc: Hello 
}; 


gulpfile.js

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

gulp.task('concat', function() { 
    return browserify('./src/main.js') 
    .bundle() 
    .pipe(vinyl_source_stream('bundle.js')) 
    .pipe(gulp.dest('./dist/')) 
}); 
+0

gulpfile.jsでbrowserifyとvinylを要求する必要があります。 external.jsのパスが正しいことを確認してください。なぜなら、どのファイルでエラーが発生したのかわからないからです。 – wolfrevo

+0

はい、私はそれらを必要とし、また端末にエラーはありません – CRIS

+0

愚かな間違い。私のプロジェクトでは、 'module.exports'が関数の中にあったことに気付かず、なぜrequire文が空のオブジェクトを返すのか – CRIS

答えて

0

まず

module.exports = function() { 
    testFunc: Hello 
}; 

は、オブジェクトのプロトタイプをエクスポートできるようにします。

セカンド

var External = require('./external.js')(); // Notice the() 

あなたはそのプロトタイプを実行し、オブジェクトのインスタンスを取得することができるように。

関連する問題