小编Zac*_*ham的帖子

如何才能“递归”地对调用其他作用域函数的javascript函数进行字符串化处理?

由于javascript函数不可序列化,因此有时(尽管很少)为了将它们传递到新的上下文中,将它们字符串化然后在以后重新评估它们可能会很有用:

const foo = () => { // do something }
const fooText = foo.toString()

// later... in new context & scope
const fooFunc = new Function(' return (' + fooText + ').apply(null, arguments)')
fooFunc() // works!
Run Code Online (Sandbox Code Playgroud)

但是,如果foo引用另一个函数bar,则范围不会被字符串化,因此,如果bar未在新的上下文中定义,则被评估的foo函数在调用时将引发错误。

我想知道是否有一种方法可以递归地对函数进行字符串化处理?

也就是说,不仅要对父函数进行字符串化,还要对从父项调用的子函数的内容进行字符串化。

例如:

let bar = () => { alert(1) }
let foo = () => { bar() }

// what toString does
let fooString = foo.toString()
console.log(fooString) // "() => { bar() }"

// …
Run Code Online (Sandbox Code Playgroud)

javascript recursion serialization tostring

7
推荐指数
1
解决办法
90
查看次数

如何在 Sveltekit 独立端点上启用 CORS?

我正在构建一个需要从任何来源访问 sveltkit 端点的嵌入。

如果我使用express,我会简单地使用cors中间件。

我很好奇是否有办法在 sveltkit 端点上启用 CORS,这样我就不需要启动另一个服务。

到目前为止我尝试过的一些事情:

  • 从端点中的获取句柄返回“Access-Control-Allow-Origin”:“*”

  • 覆盖 OPTIONS http 方法(似乎从未被调用)

  • 我看到了这个reddit 帖子,但它似乎已经过时了。

server-side-rendering svelte sveltekit

6
推荐指数
2
解决办法
1万
查看次数