节点的应用程序变量传递到手写笔文件(Node app variables passed into s

2019-07-31 21:25发布

我建立一个小节点的应用程序,并使用快递与玉和手写笔来呈现一些基本的HTML页面。

我很好奇,如果有适合我的方式来传递成从节点生成的.styl文件中的一些变量? 我很清楚,我可以定义.styl文件的内部变量,但我有一个需要更有活力。 具体来说,我一直在寻找一种简单的方法来存储在数据库中的一些颜色,有节点抓住这些值,那么这样当页面呈现这些变量传入插入那些到.styl文件。看起来这应该做的-able,但我缺乏对细节我。 任何帮助表示赞赏。 谢谢!

Answer 1:

由于@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,但它看起来这可能是一个解决别人想知道该怎么办。 如果任何人有这种做法的任何挫折,请让我知道。



Answer 2:

您可以使用手写笔API的定义()函数来设置手写笔的变量,并提供给它JS功能。



文章来源: Node app variables passed into stylus file