使用Browserify对全局范围进行污染

时间:2014-12-21 08:21:11

标签: javascript browserify

我最近开始使用Browserify,我想知道我所做的是否会污染全球范围。

我有main.js

var Person = require('./Animate/Animate.js');

var me = new Person('John');

me.sayHello();

这是我项目的起点,它依赖于另一个文件(Animate/Animate.js):

var $ = require('jquery');
function Person(name)
{
    this.name = name;
}

Person.prototype.sayHello = function() {
    $('body').html(':3');
    alert('Hello! My name is ' + this.name + ', nice to meet you, sir. New version please.');
}

module.exports = Person;

Animate.js我首先声明我的"类"然后向它添加一个方法。在脚本的最后,我将它导出到模块。

不使用以下函数将代码包装在Animate.js中:

module.exports = function() { // My Person "class" will be here }

或者喜欢:

(function() { // Paste Animate.js content as it is now here... })()

这是否意味着我已经污染了全球范围,或者因为我使用browserify,它会在创建bundle.js文件时自动确保我不会污染全球范围?

1 个答案:

答案 0 :(得分:2)

不,它不会污染您的全球范围。

我使用browserify工作了几个月,我认为这是描述类的最佳方法。

检查browserify构建并查看它的包装效果如何,以免污染全局范围。