gpt4 book ai didi

javascript - 使用 node.js 和 CoffeeScript 访问全局变量

转载 作者:行者123 更新时间:2023-12-02 18:54:48 25 4
gpt4 key购买 nike

我正在尝试为我使用 Node.js 和 CoffeeScript 编写的应用程序声明全局变量。因此,我在一个公共(public)文件中声明它,该文件在编译后连接到两个应用程序。在该文件中,我有例如:

root = exports ? this
root.myVariable = 300

所以我的第一个应用程序是 HTML 应用程序。当我尝试访问此变量时,例如通过

console.log myVariable

没有任何问题。但我的另一个应用程序是由 Node 命令启动的服务器应用程序,我无法访问该应用程序中的该变量。我尝试过:

console.log root.myVariable
console.log myVariable

在第一行中,我得到了“未定义”的打印信息(因此看起来 root 已被定义),而在第二行中,我得到了 ReferenceError - myVariable 未定义。

那么我如何访问这个变量呢?

这是我得到的 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);

最佳答案

你已经很接近了,但你需要稍微改变一下

# config.coffee
module.exports =
foo: "bar"
hello: "world"
db:
user: alice
pass: password1

# lib/a.coffee
config = require "../config"

# lib/b.coffee
config = require "../config"

# lib/db.coffee
dbconfig = require("../config").db

关于javascript - 使用 node.js 和 CoffeeScript 访问全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com