如何修复Javascript中的“未定义不是对象”错误

时间:2019-04-10 10:10:14

标签: javascript adobe-illustrator

我正在尝试在Illustrator中使用脚本。其中一些要求能够导入其他脚本,因此我找到了以下代码。当我尝试运行它时,我会收到

  

错误21:未定义不是对象。
  第6行-> var库=(function(libpath){“

我已经查看了其他答案,似乎问题在于“库”(?)未定义,我应该先对其进行定义。可悲的是,我不知道应将其定义为什么。还是我一般都不了解这个问题。

我希望它能够导入helloworld.jsx,因此能够运行helloWorld函数。它引发了上述错误。

//Library importing function from https://gist.github.com/jasonrhodes/5286526

// indexOf polyfill from https://gist.github.com/atk/1034425
[].indexOf||(Array.prototype.indexOf=function(a,b,c){for(c=this.length,b=(c+~~b)%c;b<c&&(!(b in this)||this[b]!==a);b++);return b^c?b:-1;});

var Libraries = (function(libPath) {
  return {
    include: function(path) {
      if (!path.match(/\.jsx$/i)) {
        path = path + ".jsx";
      }
      return $.evalFile(libPath + path);
    }
  };
})($.fileName.split("/").splice(0,$.fileName.split("/").indexOf("adobe_scripts") + 1).join("/") + "/lib/");

Libraries.include("HelloWorld.jsx");
helloWorld();

1 个答案:

答案 0 :(得分:0)

自从我做完这些东西以来,已经有很多卫星了... 库不是带libPath的函数,因此您需要调用

Libraries('c:\whereever').include('HellowWorld.jsx');