尝试对sails.config.global进行字符串化,出现循环结构错误。

6 浏览
0 Comments

尝试对sails.config.global进行字符串化,出现循环结构错误。

我在尝试将一个全局变量转换为字符串时遇到了一个错误:

TypeError: 转换循环结构为JSON。

我知道这个错误的意思,但问题是,是什么导致了循环引用。并且,为什么它会发生在我的自定义变量上?

然后下一个问题是:我如何以在globals.js中创建的方式将对象转换为字符串?

在config/globals.js中:

module.exports.globals = {
    mystuff: {
        Url: "http://localhost:8080",
        APIKey: "2bb67717b99a37e92e59003f93625c9b"
    }
}

在一个钩子初始化中:

module.exports = function (sails) { 
   return {
        initialize: function(cb) {
           var str = JSON.stringify(sails.config.globals.mystuff);
        }
   }
}

0
0 Comments

问题出现的原因是在sails.config.global中存在循环引用的结构。解决方法是使用JavaScript中的方法来检测和修复循环引用。

循环引用是指对象之间相互引用,形成一个闭环的情况。当尝试将循环引用的对象转换为字符串时,会导致循环结构错误。

为了解决这个问题,可以参考以下链接中的方法来检测和修复循环引用:

Detecting and fixing circular references in JavaScript

此外,还有部分应用程序将对象注入到全局变量中。

0