gpt4 book ai didi

node.js - 传递到手写笔文件的 Node 应用程序变量

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:36 24 4
gpt4 key购买 nike

我正在构建一个小型 Node 应用程序,并使用 Express 与 Jade 和 Stylus 来呈现一些基本的 HTMl 页面。

我很好奇是否有办法将一些变量传递到从 Node 生成的 .styl 文件中?我很清楚我可以在 .styl 文件中定义变量,但我需要更加动态。具体来说,我正在寻找一种简单的方法来在数据库中存储一些颜色,让 Node 获取这些值,然后将它们插入 .styl 文件中,以便在呈现页面时传入这些变量。看起来应该这样做- 可以,但我缺乏细节。任何帮助表示赞赏。谢谢!

最佳答案

感谢@ebohlman,因为他的建议与我最终实现的很接近。

基本上,我试图弄清楚如何在连接中间件之上执行此操作,这是我想出的:

在执行 app.configure 时,我使用了自定义编译函数(键“编译”),如下所示:

app.use(require('stylus')
.middleware({
src: app.root + '/app/public',
compile: compile
})
);

然后我创建了几个函数:

var stylus = require('stylus');
var mylib = function(style){
style.define('themeColor1', function(){
//call to the db that returns a color
color = 'blue';
color = color ? color : 'orange';
return new stylus.nodes.Literal(color);
});
};

var compile = function(str, path) {
return stylus(str)
.use(mylib);
};

然后在我做的 .styl 文件中:

background-color themeColor1();

themeColor1 函数中的三元运算符允许简单的默认值和覆盖。我花了一些时间才根据示例弄清楚 API,但看起来这可能是其他人想知道如何做的解决方案。如果有人对这种方法有任何缺点,请告诉我。

关于node.js - 传递到手写笔文件的 Node 应用程序变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12573897/

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