Javascript 需要帮助理解逻辑吗
有人能给我解释一下这条线是怎么工作的吗Javascript 需要帮助理解逻辑吗,javascript,svelte,sapper,svelte-store,Javascript,Svelte,Sapper,Svelte Store,有人能给我解释一下这条线是怎么工作的吗 const response=wait post(auth/login,{email,password}) 正在从utils.js调用post,即: utils.js export function post(endpoint, data) { return fetch(endpoint, { method: 'POST', credentials: 'include', body: JSON.st
const response=wait post(
auth/login,{email,password})代码>
正在从utils.js
调用post
,即:
utils.js
export function post(endpoint, data) {
return fetch(endpoint, {
method: 'POST',
credentials: 'include',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json'
}
}).then(r => r.json());
}
因此函数在这里输入,然后获取提供的端点,即auth/login
这让我很困惑,因为auth/login
不是端点,而是一个导出函数的文件,位于auth/login.js
下。是否自动调用auth/login.js
中的第二个post函数?我不确定这个(req,res)
在哪里传递,因为我们只是从上面获取这个文件,而没有传递任何参数
auth/login.js
import * as api from 'api.js';
export function post(req, res) {
const user = req.body;
api.post('users/login', { user }).then(response => {
if (response.user) req.session.user = response.user;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(response));
});
}
这是在cookie中设置用户的地方,我的代码当前没有这样做,刷新时会话将丢失。我正在尝试了解如何在Sapper中持久化会话。此行正在调用相对路径:
const response=wait post(auth/login
,{email,password})
因此fetch调用的url类似于:
根据文档,当调用以.js结尾的路由时,Sapper会在该文件上查找具有HTTP请求方法名称的函数。
此处的更多信息:sapper.svelte.dev/docs#Server_routes此线路正在调用相对路径:
const response=wait post(auth/login
,{email,password})
因此fetch调用的url类似于:
根据文档,当调用以.js结尾的路由时,Sapper会在该文件上查找具有HTTP请求方法名称的函数。
这里有更多信息:sapper.svelte.dev/docs#Server_routes我确实将代码发布到了auth/login
。该文件就是被调用的文件。调用文件与获取文件以及调用该文件的某个方法不同。如果路由逻辑对“auth/login”进行所有获取调用以调用文件(即在运行时导入login.js),则不会发生任何事情。如果它进行所有获取调用以作为公共资源访问login.js,那么将返回plain.js文件。如果它在login.js中执行所有的fetch调用来运行post函数,那么逻辑和结果必须在代码中明确显示。这就是为什么我认为一切都取决于你的路由逻辑(你的路由器),路由是基于文件的。我使用的是Sapper,我链接的回购就是一个有效的例子。我仍然不明白这到底是怎么回事。该链接指向我在上面链接的本地文件“auth/login”,或者可以在链接的repo中找到该文件。当调用auth/login
时,不知何故调用了post
函数,我不知道该如何调用,因为我不在node中工作,这对我来说都是比较新的。好的,我阅读了Sapper文档,在路由部分,它说routes文件夹中的.js文件作为服务器路由处理,它们导出与HTTP方法对应的函数,因此这是第三种情况(调用该文件的一种方法),但路由逻辑在框架库中:我确实将代码发布到auth/login
。该文件就是被调用的文件。调用文件与获取文件以及调用该文件的某个方法不同。如果路由逻辑对“auth/login”进行所有获取调用以调用文件(即在运行时导入login.js),则不会发生任何事情。如果它进行所有获取调用以作为公共资源访问login.js,那么将返回plain.js文件。如果它在login.js中执行所有的fetch调用来运行post函数,那么逻辑和结果必须在代码中明确显示。这就是为什么我认为一切都取决于你的路由逻辑(你的路由器),路由是基于文件的。我使用的是Sapper,我链接的回购就是一个有效的例子。我仍然不明白这到底是怎么回事。该链接指向我在上面链接的本地文件“auth/login”,或者可以在链接的repo中找到该文件。当调用auth/login
时,不知何故调用了post
函数,我不知道该如何调用,因为我不在node中工作,这对我来说都是比较新的。好的,我阅读了Sapper文档,在路由部分,它说routes文件夹中的.js文件作为服务器路由处理,它们导出与HTTP方法对应的函数,因此这是第三种情况(调用该文件的一种方法),但路由逻辑在框架库中: