javascript - 静态站点、服务器端计算、Nextjs、WordPress
问题描述
我想创建一个主要是静态的网站(并且一直在考虑使用Next.js),但是它应该包括根据客户规格获得价格估算的可能性。这个计算应该是私有的,不应该透露给任何人(否则我会插入纯 js)。我猜我需要在服务器上监听请求并返回一些简单的响应(价格)。
我正在使用 Host-Europe 的 Webbuilder 包并具有 ssh 访问权限。要设置 WordPress(并能够访问设置主页),我所要做的就是复制文件并将域分配给 Host-Europe 管理面板中的 WordPress 文件夹。
所以,我的问题是:
- 是否可以通过静态网站框架轻松实现添加此功能,或者是否建议完全切换到某些服务器端渲染框架(例如WordPress、React、Django)
- 我是否需要在后台运行一些进程来监听请求?例如,我将如何调用这样的过程以通过 JavaScript 触发某些服务器端功能并获得结果?
- 为什么不需要启动一些恶魔进程来让 WordPress 工作?(我猜 Host-Europe 可能参与了这里的背景?)
如果归结为使用某些框架,我宁愿坚持使用Node/JavaScript或Python,但现在任何能快速完成工作的东西都会很棒。
我之前建立了自己的静态博客并将其托管在 github-pages 上,但是当涉及到除此之外的任何内容时,我有点无能为力。
解决方案
- 在 JavaScript 中进行计算,从服务器上的外部源加载并缩小 js 代码以对其进行混淆。在我看来,这可能是最简单的解决方案。
- 您可以利用 AWS Lambda 函数并免费获得前 100 万个请求。
- 使用 Node.JS 和 Express JS 创建一个简单的 REST API。
Node.js Express.js API 示例
const express = require('express')
const app = express()
const port = 3000
app.get('/calculate-price', (req, res) => {
response_price = req.query.parameter1 + req.query.parameter2
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ price: response_price }));
})
Next JS 获取函数
export async function getStaticProps(context) {
const res = await fetch(`https:[your API or cloud function resource]?parameter1=abc¶meter2=1245`)
const data = await res.json()
if (!data) {
return {
notFound: true,
}
}
return {
props: { data }, // the price will be passed to the page component as props
}
}
推荐阅读
- java - java pojo中如何区分JSON null值和默认java null
- mysql - 为什么sql正确和运行它的内在机制呢?
- php - pug-php中的href不起作用
- sql - 使用单个语句更改多个表中的公共列
- python - Django 表单:无法显示验证错误
- rest - SAS/WPS HTTP PROC 基本认证
- f# - 如何使用 F# 在 SQL Server 中插入数据?
- android - dm77 条码扫描仪 Zbar 相机 片段中的预览延迟
- php - PHP - 过滤数组以从子数组中删除具有不相似键的值
- node.js - app.get 不在 Heroku 中调用,但在本地机器上工作