Javascript 较少的js modifyVars不适用于字符串路径

Javascript 较少的js modifyVars不适用于字符串路径,javascript,jquery,html,less,Javascript,Jquery,Html,Less,我试着用更少的js和可用的字符串路径工作 使用自定义修改变量 代码 无 @image-path : "/assets/images"; @bg-image : "/bg/01.png"; 无风格 @import "available.less"; body{ background: url('@{image-path}@{bg-image}') repeat top left; } 在javascript中 less.modifyVars({

我试着用更少的js和可用的字符串路径工作 使用自定义修改变量 代码

  @image-path : "/assets/images";

  @bg-image : "/bg/01.png";
无风格

  @import "available.less";

  body{
    background: url('@{image-path}@{bg-image}') repeat top left;
 }
在javascript中

    less.modifyVars({
      '@bg-image' : "/bg/08.png"
     });
我得到错误解析错误:无法识别的输入

    @bg-image: /bg/08.png;
如何修复它

因此,如果我将modifyVars更改为

    less.modifyVars({
     '@bg-image' : "'/bg/08.png'"
    });

有了双引号+单引号的价值包装,它就可以工作了!但是我不需要这个修复,因为jquery修改变量i'm get form html元素时,只考虑在字符串是URL时在其周围添加引号。您可以测试字符串是否具有
/

if(field.value.indexOf("/") !== -1) {
          variables['@' + field.name] = '"' + field.value + '"';
}

另请参见:

如果有效,为什么不将表单元素中的输入用引号括起来?我的元素太多了,比如颜色、字体大小。。。所以,当我将所有这些值包装到我的函数中时,bg图像修改变量的工作方式是,白色、字体大小等。。。不工作,我认为只需要包装输入字符串或路径!您能给我一些解决方案@PatrickGunderson您需要使用“escapeURIComponent”未捕获引用来转义html表单中的字符串错误:当我使用encodeURIComponent时,escapeURIComponent未定义@PatrickGunderson我找不到正确的路径吗?另一个解决方案