这样的写法遇到一个bug,1.6.1,macOS Sierra 10.12.5
//NodeExtend.js
window._nodeExtendMath = {
// 随机一个int [min, max]
randomInt: function (min, max) {
if (min === max) return min;
return min + Math.floor(Math.abs(Math.random() * (max + 1 - min)));
}
};
cc.js.get(cc.Node.prototype, 'math', function () {
return _nodeExtendMath;
});
// console error
2017-09-15T03:41:16.886Z - normal: connected!
2017-09-15T03:41:20.986Z - normal: 1.6.1
2017-09-15T03:41:42.737Z - error: TypeError: Cannot redefine property: math
at Object.js.get (/Applications/CocosCreator.app/Contents/Resources/engine/cocos2d/core/platform/js.js:280:12)
at disable-commonjs:///Users/webb/Desktop/selfDoc/never-touch/assets/script/NodeExtend.js?002:8:7
at disable-commonjs:///Users/webb/Desktop/selfDoc/never-touch/assets/script/NodeExtend.js?002:11:3
问题是这样出现的,NodeExtend.js 勾选 导入为插件,允许web,允许浏览器,允许Native。
第一次打开creator不会有问题。当我修改_NodeExtend.js_ 再回到creator 必现这个报错。