gpt4 book ai didi

javascript - 如何在使用 fastify 服务之前替换 Javascript 变量?

转载 作者:行者123 更新时间:2023-12-03 00:45:19 26 4
gpt4 key购买 nike

我有一些 JS 文件,我想在提供它们之前对其进行修改。

它们是用参数调用的,我希望在提供服务时该参数位于文件中。

示例:

<script src="myjavascript.js?key=mykey"></script

myjavascript.js

var key = ${key} // <-- replaced with request.query.key
console.log(key)

路线:

fastify.get('/include.js', async (request, reply) => {
let key
if (request.query.key) {
key = request.query.key
}
if (!key.length == 20) reply.code(400)

reply.view('server/assets/include.js', { key: key })
})

最佳答案

reply.view 我猜,您尝试使用 point-of-view插入。这样做的问题是你需要用它设置一个 View 引擎来服务 html。如果您的目标是,您可以将参数传递给 html 模板。请参阅链接存储库中的示例。

如果您的目标是动态提供并生成文件,那么您可以使用模板文字来实现它。另请注意,设置reply.code后需要调用send:

const fastify = require('fastify')()

fastify
.get('/', (request, reply) => {
const { key } = request.query
if (key.length !== 20) reply.code(404).send({ error: 'Not Found' })
reply
.type('application/javascript; charset=UTF-8')
.send(`var key = ${key}; console.log(key);`)
})

fastify.listen(3000, err => {
if (err) throw err
console.log('Server is listening on port 3000')
})

关于javascript - 如何在使用 fastify 服务之前替换 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com