【发布时间】:2014-11-21 10:43:26
【问题描述】:
我知道 Jekyll 就是关于“不要使用数据库,而是使用静态文件”,但是
如果我想在我的static 网站上实施评级,只是为了能够
存储我的每个学生对某个作文的评分,然后显示
一个平均值,并且“sqlite”是一个基于文件的数据库,它会是
可以使用一些javascript api从该sqlite文件写入/读取?
【问题讨论】:
标签: javascript sqlite jekyll
我知道 Jekyll 就是关于“不要使用数据库,而是使用静态文件”,但是
如果我想在我的static 网站上实施评级,只是为了能够
存储我的每个学生对某个作文的评分,然后显示
一个平均值,并且“sqlite”是一个基于文件的数据库,它会是
可以使用一些javascript api从该sqlite文件写入/读取?
【问题讨论】:
标签: javascript sqlite jekyll
您可以尝试firebase 或cloudbase.io,它们都提供免费计划和javascript API。
Firebase 有一个very good documentation。
【讨论】:
您不应该使用 JavaScript 来访问您的数据库 - 因为您的信息会暴露给客户端,所以它会使其易受攻击。 It's definitely possible but highly not recommended.
但是,有一些方法可以use Jekyll in conjunction with more appropriate languages like PHP,这可能是也可能不是您想要的。我并不完全熟悉 Jekyll 的工作原理,但如果我理解正确,如果它只是生成静态文件,您可以让 Jekyll 生成站点的某些部分,但其他部分在 PHP 上运行以进行这些 SQL 调用。
这肯定会有点 hacky,所以我真的会评估你想使用 Jekyll 的重要性。 请记住,Jekyll 是为一个非常特定的目的而设计的——将纯文本转换为静态网站,所以这可能不是适合您的工具。
【讨论】:
raw 标签。而且我还想,不可能使用 php 脚本来代替对其他域的 ajax 请求?
all-static 版本,没有评分,这对我来说并不重要,我只是好奇。感谢您的耐心。
simple user authentication.. ;)
是的,可以向 Jekyll 生成的静态站点添加数据库功能。 就我而言,我正在使用firebase。 Firebase by Google 为我们提供了许多功能,例如存储、数据库、托管以及使用函数访问无服务器架构。
所以来做点,你需要做的就是注册http://firebase.google.com 然后创建一个应用程序,然后在您的 JavaScript 中的 head 标签中添加以下代码
<script src="https://www.gstatic.com/firebasejs/5.9.0/firebase.js"></script>
<script>
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
projectId: "<PROJECT_ID>",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
};
firebase.initializeApp(config);
var timestamp = new Date().valueOf();
var obj = {};
obj[timestamp] = "1";
firebase.database().ref('/').update(obj)
</script>
更多详情, 你可以访问我关于这个主题的博客
https://xyzcoder.github.io/firebase/2019/03/17/firebase-real-time-database.html
注意:我们还可以对谁可以读写数据到我们的 json 存储区实施安全限制
谢谢, 帕万
【讨论】: