2016-05-04 3 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 потребовался браузер и винил. и убедитесь, что ваш путь external.js верен, так как мы не знаем, что ошибка произошла в каком файле. – wolfrevo

+0

Да, я действительно требовал их, а также нет ошибок в терминале – CRIS

+0

глупой ошибкой. в моем проекте я не заметил, что 'module.exports' находился внутри функции, поэтому оператор require возвращает пустой объект – CRIS

ответ

0

Первый:

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

, так что вы можете экспортировать объект прототипа.

Второй

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

, так что вы можете выполнить этот прототип и получить экземпляр объекта.

Смежные вопросы