Я обнаружил, что «SHGetFileInfo» (проверьте «www.pinvoke.net» для подписи) позволяет получить маленький или большой значок, точно так же, как если бы вы имели дело с файлом / папкой / элементом оболочки.
Jens;)
Для понимания различий необходимо сначала понять то, что Node.js делает к каждому модулю во время времени выполнения. Node.js создает функцию обертки для каждого модуля:
(function(exports, require, module, __filename, __dirname) {
})()
Уведомление первый параметрический усилитель exports
является пустым объектом, и третий параметрический усилитель module
является объектом со многими свойствами, и одно из свойств называют exports
. Это - то, из чего exports
прибывает и из чего module.exports
прибывает. Первый каждый - переменный объект и последний, является свойством module
объект.
В модуле, Node.js автоматически делает эту вещь вначале: module.exports = exports
, и в конечном счете возвраты module.exports
.
, Таким образом, Вы видите, что при переприсвоении некоторого значения [1 112] это не будет иметь никакого эффекта к [1 113]. (Просто, потому что exports
точки к другому новому объекту, но module.exports
все еще содержит старое exports
)
let exports = {};
const module = {};
module.exports = exports;
exports = { a: 1 }
console.log(module.exports) // {}
, Но если Вы обновите свойства [1 117], то он будет, конечно, иметь эффект на [1 118]. Поскольку они оба точка к тому же объекту.
let exports = {};
const module = {};
module.exports = exports;
exports.a = 1;
module.exports.b = 2;
console.log(module.exports) // { a: 1, b: 2 }
Также уведомление, что при переприсвоении другого значения [1 119], затем это кажется бессмысленным для [1 120] обновления. Каждый обновления на [1 121] проигнорирован потому что module.exports
точки к другому объекту.
let exports = {};
const module = {};
module.exports = exports;
exports.a = 1;
module.exports = {
hello: () => console.log('hello')
}
console.log(module.exports) // { hello: () => console.log('hello')}