2016-05-04 72 views
0

我不知道我錯過了什麼或者犯了錯誤。但是要求一個模塊只返回一個空對象。Browserify在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() 

,這樣就可以執行該原型並獲得對象的實例。