Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在meteor应用程序中动态地将json导入重新加载到stylus中?_Json_Meteor_Stylesheet_Reload_Stylus - Fatal编程技术网

有没有办法在meteor应用程序中动态地将json导入重新加载到stylus中?

有没有办法在meteor应用程序中动态地将json导入重新加载到stylus中?,json,meteor,stylesheet,reload,stylus,Json,Meteor,Stylesheet,Reload,Stylus,这是我的第一个问题,所以我为任何错误道歉 我正在构建一个Meteor应用程序,使用React和Sytlus作为css预处理器。 我希望用户能够选择一些颜色,并将其作为变量导入我的手写笔文件。(直接通过JavaScript或jQuery设置变量在这里不起作用,因为我想在Stylus中使用它们,并在多个级别上使用它们,例如hover等。好吧,它可以工作,但会产生大量代码,我更喜欢将它们排列得非常整齐。) 现在我正在将用户的颜色写入一个JSON文件,如下所示: { "colorNPK": {

这是我的第一个问题,所以我为任何错误道歉

我正在构建一个Meteor应用程序,使用React和Sytlus作为css预处理器。 我希望用户能够选择一些颜色,并将其作为变量导入我的手写笔文件。(直接通过JavaScript或jQuery设置变量在这里不起作用,因为我想在Stylus中使用它们,并在多个级别上使用它们,例如hover等。好吧,它可以工作,但会产生大量代码,我更喜欢将它们排列得非常整齐。)

现在我正在将用户的颜色写入一个JSON文件,如下所示:

{
  "colorNPK": {
    "N": "#ff6600",
    "P": "#dddd22",
    "K": "#0000ff"
  },
  "colorSID": {
    "S": "#440000",
    "I": "#004400",
    "D": "#000044"
  }
}
json('../../public/variables.json')

// then follows the rest of my variables
gold = #f9a602
darkgold = #926d02
middlebrown = #442803
...
然后在“我的变量”的顶部导入它。import.styl如下所示:

{
  "colorNPK": {
    "N": "#ff6600",
    "P": "#dddd22",
    "K": "#0000ff"
  },
  "colorSID": {
    "S": "#440000",
    "I": "#004400",
    "D": "#000044"
  }
}
json('../../public/variables.json')

// then follows the rest of my variables
gold = #f9a602
darkgold = #926d02
middlebrown = #442803
...
因此,我可以在所有手写笔文件中使用我的变量,例如
colorNPK-N
。 在初始应用程序启动时加载变量确实有效,但当我在运行时重写JSON文件时,样式不会得到更新,也看不到应用程序中的新颜色


有人知道如何在我的JSON文件更改后将其重新加载到手写笔文件中吗?

这可以通过自定义meteor编译器插件来完成,但现有的插件都不能通过从手写笔文件导入的JSON文件来完成

一个快速的解决方法是从js代码的某处导入
json
文件,这样链接器就可以找到并观察它们的变化

if (Meteor.isDevelopment) {
  require('../../public/variables.json');
}