javascript - 这段代码是否在 sveltekit 中为客户端隐藏了?

标签 javascript svelte sveltekit

api key 是否对用户隐藏?

# $lib/config.js

import { initializeApp } from 'firebase/app';
import { getFirestore } from "firebase/firestore/lite";
        
        
const firebaseConfig = {
      apiKey: "my-key",
};
        
const app = initializeApp(firebaseConfig);
        
export const db = getFirestore(app);


#index.svelte

import {db} from "$lib/config"

db.get...and so on

试图了解如何处理您想隐藏在 sveltekit 中的东西,因为如果需要通过源代码,用户通常可以看到 js。

最佳答案

您需要将index.svelte 文件分成两部分。公开并提供数据。

顺便说一句:您的代码建议不会起作用,因为代码不会始终在服务器 (SSR) 上执行。您无法在浏览器中访问数据库。

index.json.js,始终在服务器上运行,您可以在其中验证用户并准备数据。 (阅读更多关于 endpoints 的信息)


import {db} from "$lib/config"

db.get...and so on

index.svelte,加载准备好的数据

<script context="module">
    /** @type {import('@sveltejs/kit').Load} */
    export async function load({ params, fetch, session, stuff }) {
        const url = `index.json`;
        const res = await fetch(url);

        if (res.ok) {
            return {
                props: {
                    article: await res.json()
                }
            };
        }

        return {
            status: res.status,
            error: new Error(`Could not load ${url}`)
        };
    }
</script>

关于javascript - 这段代码是否在 sveltekit 中为客户端隐藏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70543107/

相关文章:

javascript - 如何在 Redactor 中更改图像文本

javascript - 使用 Nginx 在端口上绑定(bind) Node.js 应用程序

javascript - 编写一个 JavaScript 程序来计算闰年

environment-variables - 如何在 Svelte 中加载环境变量

svelte - Sveltekit 有预览模式吗?

javascript - React 或 Node 中的用户登录和角色?

scroll - 在 Svelte/Sapper 中,history.replaceState() 不适用于history.scrollRestoration = 'auto'

node.js - 在 Nodejs 中使用 Express 路由 Svelte

svelte - 如何增加适配器节点的主体大小限制

SvelteKit - 获取协议(protocol)