[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10089":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},10089,"zero","remoteinterview\u002Fzero","remoteinterview","Zero is a web server to simplify web development.","https:\u002F\u002Fzeroserver.io\u002F",null,"JavaScript",5818,244,47,37,0,3,63.47,"Apache License 2.0",false,"master",true,[24,25,26,27,28,29,30,31,5],"hmr","javascript","nodejs","react","ssr","typescript","vue","vuejs","2026-06-12 04:00:48","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fremoteinterview\u002Fzero\u002Fmaster\u002Fdocs\u002Fimages\u002Flogo.png\" width=\"50\">\n  \u003Ch1 align=\"center\">Zero Server\u003C\u002Fh1>\n  \u003Cp align=\"center\">Zero configuration web framework.\u003C\u002Fp>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#features\">Features\u003C\u002Fa> |\n  \u003Ca href=\"#installation\">Installation\u003C\u002Fa> |\n  \u003Ca href=\"#getting-started\">Getting Started\u003C\u002Fa> |\n  \u003Ca href=\"examples\u002F\">Examples\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Fzeroserver.io\u002Fdocs\">Docs\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fn7y5nRs\">\n    \u003Cimg alt=\"Join the community on Discord\" width=\"120\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fremoteinterview\u002Fzero\u002Fmaster\u002Fdocs\u002Fimages\u002Fdiscord.png\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n**Zero** is a web framework to simplify modern web development. It allows you to build your application without worrying about package management or routing. It's as simple as writing your code in a mix of [Node.js](docs\u002Fnodejs\u002FREADME.md), [React](docs\u002Freact\u002FREADME.md), [HTML](docs\u002Fhtml\u002FREADME.md), [MDX](docs\u002Fmdx\u002FREADME.md), [Vue](docs\u002Fvue\u002FREADME.md), [Svelte](docs\u002Fsvelte\u002FREADME.md), [Python](docs\u002Fpython\u002FREADME.md), and [static files](docs\u002Fstatic\u002FREADME.md) and putting them all in a folder. Zero will serve them all. Zero abstracts the usual project configuration for routing, bundling, and transpiling to make it easier to get started.\n\n_An example project with different types of pages, all in one folder:_\n\n![A basic mono-repo](https:\u002F\u002Fraw.githubusercontent.com\u002Fremoteinterview\u002Fzero\u002Fmaster\u002Fdocs\u002Fimages\u002Fheader.gif \"A basic mono-repo\")\n\n## Features\n\n**Auto Configuration**: Your project folder doesn't require config files. You just place your code and it's automatically compiled, bundled and served.\n\n**File-system Based Routing**: If your code resides in `.\u002Fapi\u002Flogin.js` it's exposed at `http:\u002F\u002F\u003CSERVER>\u002Fapi\u002Flogin`. Inspired by good ol' PHP days.\n\n**Auto Dependency Resolution**: If a file does `require('underscore')`, it is automatically installed and resolved. You can always create your own `package.json` file to install a specific version of a package.\n\n**Multiple Languages**: Zero is designed to support code written in many languages all under a single project. Imagine this:\n\n1. Exposing your Tensorflow model as a python API.\n2. Using React pages to consume it.\n3. Writing the user login code in Node.js.\n4. Your landing pages in a mix of HTML or Markdown\u002FMDX.\n\nAll under a single project folder as a single web application.\n\n## Play on Glitch\n\nYou can play with Zero without installing it locally. Click the button below:\n\n\u003C!-- Remix Button -->\n\u003Ca href=\"https:\u002F\u002Fglitch.com\u002Fedit\u002F#!\u002Fremix\u002Fzero-starter\">\n  \u003Cimg src=\"https:\u002F\u002Fcdn.glitch.com\u002F2bdfb3f8-05ef-4035-a06e-2043962a3a13%2Fremix%402x.png?1513093958726\" alt=\"remix this\" height=\"30\">\n\u003C\u002Fa>\n\n## Installation\n\nYou can install `zero` globally by:\n\n```sh\nnpm install -g zero\n```\n\n## Getting Started\n\nLet's start by making a website that tells us server time.\n\nFirst we need to create an API endpoint in Node.js to tell us time in JSON.\n\nCreate a new folder and add a new file `time.js` in that folder. In this file, export a function that accepts `Request` and `Response` objects ([like Express](https:\u002F\u002Fexpressjs.com\u002Fen\u002F4x\u002Fapi.html#res)):\n\n```js\n\u002F\u002F time.js\nconst moment = require(\"moment\");\n\nmodule.exports = (req, res) => {\n  var time = moment().format(\"LT\"); \u002F\u002F 11:51 AM\n  res.send({ time: time });\n};\n```\n\nOnce saved, you can `cd` into that folder and start the server like this:\n\n```sh\nzero\n```\n\nRunning this command will automatically install any dependencies (like _momentjs_ here) and start the web server.\n\nOpen this URL in the browser: [`http:\u002F\u002Flocalhost:3000\u002Ftime`](http:\u002F\u002Flocalhost:3000\u002Ftime)\n\nYou just created an API endpoint 🎉:\n\n![Time API](docs\u002Fimages\u002Ftimeapi.png?raw=true \"Time API\")\n\nKeep the server running. Now let's consume our API from a React page, create a new file `index.jsx` and add the following code:\n\n```jsx\n\u002F\u002F index.jsx\nimport React from \"react\";\n\nexport default class extends React.Component {\n  static async getInitialProps() {\n    var json = await fetch(\"\u002Ftime\").then(resp => resp.json());\n    return { time: json.time };\n  }\n\n  render() {\n    return \u003Cp>Current time is: {this.props.time}\u003C\u002Fp>;\n  }\n}\n```\n\nThis is a standard React component. With one additional hook for initial data population:\n\n`getInitialProps` is an `async` static method which is called by `zero` when the page loads. This method can return a plain object which populates `props`.\n\nNow go to this URL: `http:\u002F\u002Flocalhost:3000\u002F` and you should see the current server time rendered by React while `fetch`-ing an API endpoint you created earlier:\n\n![Time In React](docs\u002Fimages\u002Ftimejsx.png?raw=true \"Time In React\")\n\n`zero` automatically bundles your code and supports server-side rendering. You don't need to fiddle with webpack anymore.\n\nThat's it! You just created a web application.\n\n## Supported Languages\n\n- [Node.js](docs\u002Fnodejs\u002FREADME.md) _(JavaScript & TypeScript)_\n- [React](docs\u002Freact\u002FREADME.md) _(JavaScript & TypeScript)_\n- [HTML](docs\u002Fhtml\u002FREADME.md)\n- [Markdown \u002F MDX](docs\u002Fmdx\u002FREADME.md)\n- [Vue](docs\u002Fvue\u002FREADME.md)\n- [Svelte](docs\u002Fsvelte\u002FREADME.md)\n- [Python](docs\u002Fpython\u002FREADME.md)\n\n## Auto Dependency Resolution\n\nIf a file does `require('underscore')`, the latest version of that package is automatically installed from NPM and resolved.\n\nBut sometimes you want to use a specific version or a dependency from a private repository. You can do that by creating a `package.json` in your project folder and adding dependencies to it. Zero will install those versions instead.\n\nExample (package.json):\n\n```json\n{\n  \"name\": \"myapp\",\n  \"dependencies\": {\n    \"underscore\": \"^1.4.0\",\n    \"private_ui_pkg\": \"git+https:\u002F\u002Fgithub.com\u002Fuser\u002Frepo.git\"\n  }\n}\n```\n\n## Contributing\n\nPlease see our [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nZero is [Apache-2.0 licensed](LICENSE.md).\n","Zero 是一个用于简化现代 Web 开发的零配置 Web 框架。它支持多种语言（如 Node.js、React、Vue、Python 等）在一个项目中混合使用，并自动处理路由、依赖解析和代码编译打包等问题，使开发者能够专注于编写业务逻辑。其核心功能包括基于文件系统的自动路由、自动依赖安装以及多语言支持等。适用于需要快速搭建原型或小型项目的场景，特别适合那些希望减少配置工作量并提高开发效率的团队和个人。",2,"2026-06-11 03:26:31","top_topic"]