如何阻止被@include引入的js文件出现在Photoshop的Script菜单中
阻止Photoshop脚本依赖出现在Script菜单的解决方案
Photoshop脚本菜单的扫描逻辑为:遍历预设的脚本目录(包括应用程序级Presets/Scripts文件夹和用户级对应Scripts文件夹)下,所有后缀为.js/.jsx/.jsxbin的文件,以及子目录下符合后缀要求的文件,直接展示到菜单列表中,只要让依赖文件不符合扫描规则即可解决问题,可行方案如下:
- 修改依赖文件后缀名
这是最通用的简便方案。ExtendScript的@include指令不对引入文件的后缀做限制,只要内容是合法JS代码就可以正常加载。你可以把依赖文件的后缀改为非标准后缀,比如.jsinc/.lib等,只要不匹配上述三个可识别脚本后缀即可,修改后调整引入语句对应后缀即可:@include "scripts/json2.jsinc" - 将依赖文件移出PS脚本扫描目录
你可以把依赖文件存放到PS默认脚本扫描目录之外的位置,引入时写绝对路径或者跨目录的相对路径即可,这些外部路径的文件不会被PS扫描进脚本菜单。 - 合并脚本代码
如果你的脚本需要对外发布,可以用构建工具把主脚本和所有依赖代码合并打包成单个.jsx文件,不需要额外携带依赖文件,自然不会出现依赖出现在菜单的问题。 - 使用隐藏文件夹存放依赖
名称带前导点的文件夹在Windows、macOS中都默认为隐藏文件夹,Photoshop扫描脚本目录时不会进入隐藏文件夹读取内容。你可以在Scripts目录下新建比如.lib的隐藏文件夹,把所有依赖放到该文件夹内,调整引入路径即可:@include ".lib/json2.js"
内容的提问来源于stack exchange,提问作者Benjamin Allison
相关产品推荐
相关产品推荐

