当前位置: 首页 > wzjs >正文

手机网站发展seo优化教学视频

手机网站发展,seo优化教学视频,seo优化系统哪个好,网站设计技术公司关注不迷路,点赞走好运!!! 📖 目录 一、为什么开发ComfyUI插件?二、开发环境搭建三、第一个插件:提示词选择器四、插件进阶:前后端交互五、调试与测试六、发布与共享七、实战案例&…

关注不迷路,点赞走好运!!!

📖 目录

  • 一、为什么开发ComfyUI插件?
  • 二、开发环境搭建
  • 三、第一个插件:提示词选择器
  • 四、插件进阶:前后端交互
  • 五、调试与测试
  • 六、发布与共享
  • 七、实战案例:尺寸调整插件
  • 八、避坑指南

一、为什么开发ComfyUI插件?

ComfyUI如同乐高积木,基础节点是基础积木块,而插件就是你的定制化特殊积木。例如设计师常需快速切换提示词,手动操作如同反复拆装积木——而一个提示词选择器插件能一键切换,效率提升200%。

用户痛点
功能设计
插件开发
前端交互
后端逻辑
效率提升

案例:设计师预置"科幻风"、"水墨画"等提示词模板,避免重复输入。


二、开发环境搭建

1. 基础装备
  • Python 3.10+:ComfyUI的血液系统
  • Git:代码版本管理工具
  • ComfyUI源码:开发基石
git clone https://github.com/comfyanonymous/ComfyUI.git
2. 关键配置

修改extra_model_paths.yaml实现模型共享,避免重复下载大文件:

base_path: "F:/你的WebUI目录/models"
checkpoints: "Stable-diffusion"
vae: "VAE"
3. 插件目录结构
custom_nodes/
└── your_plugin/├── nodes.py      # 节点核心逻辑├── __init__.py   # 插件入口└── js/           # 前端组件

提示:使用VS Code的Python环境,安装Pylance插件可自动补全ComfyUI API。


三、第一个插件:提示词选择器

需求场景

用户需预置多组提示词(如"科幻飞船"、“水墨山水”),避免手动输入。

代码实现(nodes.py)
class PromptSelectorNode:@classmethoddef INPUT_TYPES(cls):return {"required": {"prompt_pairs": ("STRING", {"multiline": True,"default": '"科幻":"spaceship, futuristic",\n"水墨":"ink wash painting"'}),"selected_key": (["科幻", "水墨"],)  # 动态选项},"hidden": {"node_id": "UNIQUE_ID"}  # 用于前后端同步}FUNCTION = "process"RETURN_TYPES = ("STRING",)def process(self, prompt_pairs, selected_key):# 解析键值对(示例)pairs = dict(line.split(":") for line in prompt_pairs.split(","))return (pairs.get(selected_key, ""),)
工作流演示
输入键值对
输出选中提示词
输入框
提示词选择器
文本编码器

选择"科幻"时输出spaceship, futuristic


四、插件进阶:前后端交互

1. 动态更新下拉选项

通过hidden字段传递node_id实现实时同步:

# 前端js/widget.js
app.registerExtension({nodeType: "PromptSelectorNode",widget: {update: function(node, inputName, value) {if(inputName === "prompt_pairs") {// 解析value并更新下拉选项node.widgets[1].options = parsed_keys;}}}
})
2. 数据验证

防止用户输入错误格式:

@classmethod
def VALIDATE_INPUTS(cls, selected_key):if selected_key not in cls.current_keys:return "无效选项"return True
3. 前端事件监听

节点创建时自动初始化选项:

nodeType.prototype.onNodeCreated = function() {const promptWidget = this.widgets.find(w => w.name === "prompt_pairs");promptWidget.callback(promptWidget.value); // 触发初始解析
}

五、调试与测试

1. 日志调试

在节点代码中添加:

print(f"【插件调试】收到参数: {selected_key}")
2. 单元测试
def test_prompt_selector():node = PromptSelectorNode()result = node.process('"a":"1", "b":"2"', "a")assert result[0] == "1", "测试失败!"
3. 热重载技巧

修改代码后按Ctrl+Shift+R重载节点,无需重启服务。


六、发布与共享

1. 元数据注册(init.py)
NODE_CLASS_MAPPINGS = {"PromptSelector": PromptSelectorNode}
NODE_DISPLAY_NAME_MAPPINGS = {"PromptSelector": "提示词选择器"}
WEB_DIRECTORY = "./js"
2. 通过ComfyUI Manager分发

用户可通过命令安装:

cd ComfyUI/custom_nodes
git clone https://github.com/yourname/your-plugin.git
3. 安装验证

在管理器界面搜索插件名称,点击安装并重启:

ComfyUI Manager
Install Custom Nodes
搜索插件名
点击Install

七、实战案例:尺寸调整插件

解决痛点

传统尺寸修改需反复连接节点,本插件一键设置多种分辨率。

核心代码
class ResizeTool:@classmethoddef INPUT_TYPES(cls):return {"required": {"image": ("IMAGE",),"preset": (["手机壁纸", "电脑桌面", "自定义"],)},"optional": {"custom_size": ("TUPLE", {"default": (1024,768)})}}FUNCTION = "resize"CATEGORY = "图像工具"def resize(self, image, preset, custom_size=None):size_dict = {"手机壁纸":(1080,1920), "电脑桌面":(1920,1080)}target_size = custom_size if preset=="自定义" else size_dict[preset]resized_image = F.interpolate(image, size=target_size, mode='bilinear')return (resized_image,)
算法原理

双线性插值公式:
output [ x , y ] = ∑ i , j input [ i , j ] ⋅ W ( i , j , x , y ) \text{output}[x,y] = \sum_{i,j} \text{input}[i,j] \cdot W(i,j,x,y) output[x,y]=i,jinput[i,j]W(i,j,x,y)
其中 W W W双线性权重函数,实现平滑缩放。


八、避坑指南

  1. 动态选项同步
    后端无法直接获取前端状态,需通过node_id传递

  2. 依赖管理陷阱
    额外库需在__init__.py中检查:

    try:import missing_lib
    except ImportError:print("请执行: pip install missing_lib")
    
  3. 前端样式冲突
    使用唯一CSS类名前缀:

    .yourplugin-slider { /* 专用样式 */ }
    
  4. 版本兼容性
    在README中明确适配版本:

    ComfyUI版本插件版本
    v1.0+v1.2

开发插件如同打造瑞士军刀——每个功能都是解决实际痛点的利器。立即动手,让你的创意成为ComfyUI生态的一部分!

http://www.dtcms.com/wzjs/383584.html

相关文章:

  • 做网站前台需要什么技能自助建站申请
  • 用凡科可以做视频网站吗免费数据分析网站
  • 可以做热图的工具网站网站关键词优化怎么做的
  • 哪个建设网站公司好电商数据查询平台
  • 苏州建设培训中心网站排名优化技巧
  • 贵阳公司网站深圳百度seo公司
  • 石家庄城市建设档案馆网站百度推广后台登录入口
  • 微信网站技术方案鹤壁网络推广哪家好
  • 梧州建设厅官方网站石家庄高级seo经理
  • 长沙的汽车网站建设什么软件可以搜索关键词精准
  • web中英文网站怎么做百度云官网首页
  • 微信网站用什么软件做宁波seo整体优化
  • wordpress当前文章标题批量优化网站软件
  • 定制化网站开发公司星乐seo网站关键词排名优化
  • 哪个网站可以做付费推广网页设计首页
  • 网站设置了权限中央电视台新闻联播广告价格
  • 网站邮件功能设计理论免费发布广告信息网
  • 做问卷调查赚钱网站网络营销网课
  • 重庆渝中区企业网站建设公司竞价托管公司排名
  • 网站h1网站制作教程视频
  • 支付集成文件放在网站哪里行业关键词一览表
  • phpmysql网站开发笔记微信指数怎么看
  • 武汉哪家网站公司好seo排名点击手机
  • 广州做网站lomuw怎么样在百度上免费推广
  • wordpress软件下载插件朝阳seo推广
  • 自己可以做网站么汽油价格最新调整最新消息
  • 设计单网站建设网站开发框架
  • 网站做淘宝客seo研究中心晴天
  • 河南网站建设哪里好发布外链
  • 济源网站建设足球世界排名国家