{"id":19908706,"url":"https://github.com/rubylouvre/node-avalon","last_synced_at":"2025-05-03T02:31:19.399Z","repository":{"id":28383483,"uuid":"31897614","full_name":"RubyLouvre/node-avalon","owner":"RubyLouvre","description":"在后端渲染avalon","archived":false,"fork":false,"pushed_at":"2015-06-03T06:05:49.000Z","size":1031,"stargazers_count":12,"open_issues_count":8,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T20:47:21.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RubyLouvre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-09T12:42:05.000Z","updated_at":"2020-05-12T06:47:49.000Z","dependencies_parsed_at":"2022-09-03T13:42:40.764Z","dependency_job_id":null,"html_url":"https://github.com/RubyLouvre/node-avalon","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fnode-avalon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fnode-avalon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fnode-avalon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fnode-avalon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RubyLouvre","download_url":"https://codeload.github.com/RubyLouvre/node-avalon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252133699,"owners_count":21699582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T21:13:01.861Z","updated_at":"2025-05-03T02:31:18.951Z","avatar_url":"https://github.com/RubyLouvre.png","language":"JavaScript","readme":"# node-avalon\n这存在两上版本,一个运行于phantom环境,一个运行于nodejs环境\n\n目前先开发nodejs环境的,基于parse5\n\n本项目的宗旨是,在后端就将第一层数据打进页面上,解决SEO问题,前端avalon只是进行绑定对象的重新注入与双向绑定\n\ndemo正面的流程\n它是用来测试前端avalon与后端avalon的协作\n\n首先在demo目录的test.js中的files数组加上你要测试的指令名\n其次在html目录建你的测试页面(以指令名 命名),这是放在后端运行的,可以参考已有的\n再次在script录建你的测试脚本(以指令名 命名),这是前后端共用\n最后跑到demo目录, node test\n这页面里面引用了前端avalon,这时我们测试它的效果,是否能正常运行\n\n我们要做的是,修改string-avalon-src中bindForBrowser与directive中的指令与前端的rebind方法\n\ndirective中的指令，需要bindingExecutors.xxx 中加上  bindForBrowser(data)\n具体参考attr的例子\n\n\n\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubylouvre%2Fnode-avalon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubylouvre%2Fnode-avalon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubylouvre%2Fnode-avalon/lists"}