Node.js と CoffeeScript を使用して作成しているアプリケーションのグローバル変数を宣言しようとしています。そのため、コンパイル後に両方のアプリケーションに連結される共通ファイルで宣言しています。そのファイルには、たとえば次のものがあります。
root = exports ? this
root.myVariable = 300
私の最初のアプリケーションは HTML です。たとえば、この変数にアクセスしようとすると
console.log myVariable
問題ありません。しかし、私の他のアプリケーションは node コマンドによって起動されたサーバー アプリケーションであり、そのアプリケーションでその変数にアクセスできません。私は試した:
console.log root.myVariable
console.log myVariable
最初の行では「undefined」が出力され(ルートが定義されているように見えます)、2 行目では ReferenceError - myVariable is undefined が表示されます。
では、どうすればこの変数にアクセスできますか?
これが私が得たJavascriptの出力コードです。役に立つかもしれません:
(function() {
var root, _ref;
root = (_ref = typeof module !== "undefined" && module !== null ? module.exports : void 0) != null ? _ref : this;
root.myVariable = 300;
}).call(this);
(function() {
console.log(root.myVariable);
console.log(myVariable);
}).call(this);