我正在尝试使用JPM实用程序为Firefox构建附加组件。如果我将以下内容放在index.js中,' bar'在没有任何问题的情况下被回显到浏览器控制台
'use strict';
function Foo() {
this.$data = false;
}
Foo.prototype.change = function(data) {
this.$data = data;
};
var Test = new Foo();
Test.change('bar');
console.log(Test.$data);
但是,如果我将以下内容放在名为test.js
的文件中'use strict';
function Foo() {
this.$data = false;
}
Foo.prototype.change = function(data) {
this.$data = data;
};
module.exports = new Foo;
并从index.js
中获取它var Foo = require('js/test');
Foo.change('bar');
我收到一个TypeError抱怨$ data是只读的。如何要求使用构造函数属性的第三方模块?
答案 0 :(得分:0)
我猜这是出于安全原因。
无论如何,导出Foo构造函数并在index.js的范围内创建Foo对象