使用Object.defineProperty来定义io.js模块中的常量是否有意义?

时间:2015-02-28 23:57:39

标签: node.js io.js

例如dns.js文件:

exports.EOF = 'EOF';
exports.FILE = 'EFILE';
exports.NOMEM = 'ENOMEM';

那些可以被覆盖,例如。

var dns = require('dns');
dns.EOF = 3;

怎么样:

Object.defineProperty(module.exports, 'EOF',
  { value: 'EOF', enumerable: true});

Object.defineProperty(module.exports, 'EFILE',
  { value: 'EFILE', enumerable: true});

等等。在这种情况下,那么:

 'use strict';
 var dns = require('./dns');
 dns.EOF = 3;

TypeError: Cannot assign to read only property 'EOF' of #<Object>

0 个答案:

没有答案