私は比較的初心者のJS開発者で、ゆっくりと "ロープを学ぶ"です。セイルの設定とグローバルスコープ
最近、私はIIFEを使用してグローバルスコープの汚染を防ぐためのガイドラインを読んでいます。私はコンセプトは、customLogger /ウィンストンは、グローバルスコープに追加されていることを理解していれば
今すぐ帆構成システムを考慮すると、私は「自由浮動」コード、例えば:// sails/config/log.js
var Winston = require('winston');
var customLogger = new winston.Logger();
// configure logger
module.exports = {
custom: customLogger,
level: 'info',
}
と例の多くを参照してください。
正しいですか?
私は私が何かをしたい場合、私は、構成ファイル内のいくつかのコードを「重要」書かなければならないと信じている - そしてこれらのケースでは、私は一般的ルールが適用されるべきであると仮定...
は、私はこれらの中で生命維持を使用すべき場所?例えば
:
// sails/config/log.js
(function() {
var Winston = require('winston');
var customLogger = new winston.Logger();
// configure logger
module.exports = {
custom: customLogger,
level: 'info',
}
}());
はこれですべての長所/短所がありますか?大切ですか?
明確な説明と例をありがとう...再実行するには、nodejでファイルの実行がそれ自身の「サンドボックス」またはスコープであり、module.exportsに添付されていないものは「ローカル」ですか? –
まさに!ちなみに、 'global'キーワードで' local 'スコープにアクセスすることができます(例えば 'global.a'はmodule-a.jsファイルに' hello'を含みます) –