如果可能的话,我试图将browserify和mootools结合起来。我在页面的头部加载了mootools然后我尝试以一种方式定义一个类,Browserify可以在这个名为parallax.js
的文件中解析:
module.exports = new Class({
Implements: [Options, Events],
options: {
container: window
},
initialize: function(options) {
console.log('test');
}
});
然后在另一个名为`app.js'的文件中这是应用程序的主要js文件,我需要像这样的parallax.js:
var parallax = require('./parallax.js');
parallax.initialize();
但是对initalize的调用给出了一个错误:
Uncaught TypeError: undefined is not a function
我怀疑我认为这一切都错了,但我不确定如何利用MooTools以及Browserify允许的模块化。也许MooTools和Browserify只是不能很好地一起玩?
答案 0 :(得分:4)
我在类似的环境中工作,只是使用wrapup代替浏览器,这非常相似,
您的代码无效,因为您忘记使用new
关键字。
而不是
var parallax = require('./parallax.js');
parallax.initialize();
你应该做的
var Parallax = require('./parallax'),
parallax = new Parallax()
当MooTools导出全局对象所以你应该能够要求它时,我通常只是在调用我的主cjs文件之前在页面中包含MooTools。