2015-11-14 3 views
2

Я использую Eirslett's frontend-maven-plugin, который является плагином Maven, который загружает Node & NPM локально. Я пытаюсь использовать Browserify через этот плагин.Maven/Spring с Browserify: require не определен

Я установил Browserify с командами npm install -g browserify и npm install --save-dev browserify. Двоичные файлы Browserify загружаются правильно под projectname/node_modules/browserify.

У меня есть test.js файл в projectname/src/main/resources/static/test.js, который имеет следующий код

var hiObj = { 
    sayHi: function(){ 
    return "Modules" 
    } 
} 

module.exports = hiObj; 

script.js Я имею в projectname/src/main/resources/static/script.js, и этот файл добавляется в качестве статического ресурса в моем HTML.

script.js выглядит следующим образом

var obj = require('test.js'); 
console.log(obj.sayHi()); 

Но когда я пытаюсь сделать index.html я получил это в моей консоли

Uncaught ReferenceError: require is not defined

Как получить эту работу?

ответ

1

Использовать строительный инструмент, такой как Grunt или Gulp. С Глотком вы можете использовать API Browserify непосредственно и использовать его в потоке Глотка, например:

var browserify = require('browserify'); 

// Stuff 

gulp.task('js', function() { 
    return browserify(package.paths.app) 
    .pipe(/** Do stuff */); 
    // More processing 
}); 

Для Грунта есть grunt-browserify модуля.

+0

Я уже могу использовать 'require' в моем gulpfile, и он работает, но' require' не определяется вне 'gulpfile'. Я связал свой 'test.js', как вы сказали, и потребовал его в' projectname/src/main/resources/static/script.js', но require не определен. – SafariIsNewIE

+0

Вот что я пытаюсь сказать, вам нужно использовать Gulp/Grunt для компиляции вашего кода клиента JavaScript, чтобы проблема 'require()' была решена. – g00glen00b

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