{"id":13407756,"url":"https://github.com/kriasoft/aspnet-starter-kit","last_synced_at":"2025-05-15T18:00:21.517Z","repository":{"id":19916399,"uuid":"23182212","full_name":"kriasoft/aspnet-starter-kit","owner":"kriasoft","description":"Cross-platform web development with Visual Studio Code, C#, F#, JavaScript, ASP.NET Core, EF Core, React (ReactJS), Redux, Babel. Single-page application boilerplate.","archived":false,"fork":false,"pushed_at":"2022-11-22T00:26:54.000Z","size":1887,"stargazers_count":1166,"open_issues_count":45,"forks_count":205,"subscribers_count":97,"default_branch":"master","last_synced_at":"2025-05-07T18:02:01.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://twitter.com/dotnetreact","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kriasoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-21T09:51:46.000Z","updated_at":"2025-05-02T10:18:37.000Z","dependencies_parsed_at":"2023-01-14T07:45:45.429Z","dependency_job_id":null,"html_url":"https://github.com/kriasoft/aspnet-starter-kit","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kriasoft%2Faspnet-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kriasoft%2Faspnet-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kriasoft%2Faspnet-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kriasoft%2Faspnet-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kriasoft","download_url":"https://codeload.github.com/kriasoft/aspnet-starter-kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394718,"owners_count":22063984,"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-07-30T20:00:48.424Z","updated_at":"2025-05-15T18:00:21.483Z","avatar_url":"https://github.com/kriasoft.png","language":"JavaScript","funding_links":[],"categories":["Starter Kits","Application Templates","应用模板","JavaScript","入门套件"],"sub_categories":["Workflow","工作流"],"readme":"# ASP.NET Core Starter Kit \u0026nbsp; \u003ca href=\"https://github.com/kriasoft/aspnet-starter-kit/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/kriasoft/aspnet-starter-kit.svg?style=social\u0026label=Star\u0026maxAge=3600\" alt=\"\" height=\"20\"\u003e\u003c/a\u003e \u003ca href=\"https://twitter.com/dotnetreact\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/dotnetreact.svg?style=social\u0026label=Follow\u0026maxAge=3600\" alt=\"\" height=\"20\"\u003e\u003c/a\u003e \u003ca href=\"https://gitter.im/kriasoft/aspnet-starter-kit\"\u003e\u003cimg src=\"https://img.shields.io/badge/chat-online-green.svg?style=social\u0026logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAQAAAC1QeVaAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAADE4AAAxOAX93jCMAAAAHdElNRQfgCQEGNCoLIPKlAAAA00lEQVQY023QsSuEcRjA8c%2BPy%2BJwkzt1R%2FEPqNuUkpDB33DFbjNYFFYzZSV%2FgfWKySiLxUBew7HoOpLjrZ%2Fh7erwfp%2FxMzw9T5A1ZkbZt8Sjrr6Grbvw4l3HgzPzBnpUcqgr9s2zhpDhrq9fFEVP6hkm%2FyiK9qFgQl5VC9oFLbUcTKyYzd%2BZWHalS8nRH25p2JbqwLgbUerDm3snVm1pi04LgjlTXh1rKkqVbVoy5NxOULUh1XQtWtRQN6ri05pLQu8bCIoqpu25c2Ak5F45aFLN7Q%2BBul12FZqKDAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOS0wMVQwNjo1Mjo0Mi0wNDowMOcKwTgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDktMDFUMDY6NTI6NDItMDQ6MDCWV3mEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm%2B48GgAAAABJRU5ErkJggg%3D%3D\u0026maxAge=86400\" alt=\"\" height=\"20\"\u003e\u003c/a\u003e\n\n\u003e [ASP.NET Core Starter Kit](https://github.com/kriasoft/aspnet-starter-kit) is a real-world\n\u003e boilerplate and tooling for creating [single-page web applications](https://en.wikipedia.org/wiki/Single-page_application)\n\u003e (SPA) oriented towards [progressive enhancement](https://en.wikipedia.org/wiki/Progressive_enhancement)\n\u003e design, cross-platform compatability and component-based UI architecture. It is built upon best of\n\u003e breed technologies including [.NET Core](https://dot.net/core), [Kestrel](https://github.com/aspnet/KestrelHttpServer),\n\u003e [EF Core](https://ef.readthedocs.io/en/latest/), [Babel](http://babeljs.io/), [Webpack](https://webpack.github.io/),\n\u003e [React](https://facebook.github.io/react), [Redux](http://redux.js.org/), [CSS Modules](https://github.com/css-modules/css-modules),\n\u003e [React Hot Loader](http://gaearon.github.io/react-hot-loader/) and more. This boilerplate comes in\n\u003e both [C#](https://github.com/kriasoft/aspnet-starter-kit) and [F#](https://github.com/kriasoft/fsharp-starter-kit) flavors.\n\n**See** [demo](https://aspnet-core.azurewebsites.net), [docs](docs) \u0026nbsp;|\u0026nbsp; **Follow us** on\n[Gitter](https://gitter.im/kriasoft/aspnet-starter-kit) or [Twitter](https://twitter.com/dotnetreact)\n\u0026nbsp;|\u0026nbsp; **Learn** [React.js, ES6 and ASP.NET Core](#learn-reactjs-es6-and-aspnet-core)\n\u0026nbsp;|\u0026nbsp; **Visit our sponsors**:\n\n\u003cp align=\"center\" align=\"top\"\u003e\n  \u003ca href=\"https://rollbar.com/?utm_source=reactstartkit(github)\u0026amp;utm_medium=link\u0026amp;utm_campaign=reactstartkit(github)\"\u003e\u003cimg src=\"https://koistya.github.io/files/rollbar-362x72.png\" height=\"36\" align=\"top\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://x-team.com/hire-react-developers/?utm_source=reactstarterkit\u0026utm_medium=github-link\u0026utm_campaign=reactstarterkit-june\"\u003e\u003cimg src=\"https://koistya.github.io/files/xteam-255x72.png\" height=\"36\" align=\"top\" /\u003e\u003c/a\u003e\n  \u003csup\u003e\u003ca href=\"https://x-team.com/join/?utm_source=reactstarterkit\u0026utm_medium=github-link\u0026utm_campaign=reactstarterkit-june\"\u003eHiring\u003c/a\u003e\u003c/sup\u003e\n\u003c/p\u003e\n\n\n### Features\n\n\u0026nbsp; \u0026nbsp; ✓ Component-based front-end development via [Webpack](https://webpack.github.io/), [CSS Modules](https://github.com/css-modules/css-modules) and [React](https://facebook.github.io/react) (see [`webpack.config.js`](webpack.config.js))\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Modern JavaScript syntax ([ES2015](http://babeljs.io/docs/learn-es2015/)+) via [Babel](http://babeljs.io/); modern CSS syntax (CSS3+) via [PostCSS](https://github.com/postcss/postcss)\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Application state management via [Redux](http://redux.js.org/) (see [`client/store.js`](client/store.js))\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Universal cross-stack routing and navigation via [`path-to-regexp`](https://github.com/pillarjs/path-to-regexp) and [`history`](https://github.com/ReactJSTraining/history) (see [`client/routes.json`](client/routes.json))\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ [Code-splitting](https://github.com/webpack/docs/wiki/code-splitting) and async chunk loading with [Webpack](https://webpack.github.io/) and [ES6 System.import()](http://www.2ality.com/2014/09/es6-modules-final.html)\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Hot Module Replacement ([HMR](https://webpack.github.io/docs/hot-module-replacement.html)) /w [React Hot Loader](http://gaearon.github.io/react-hot-loader/)\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Lightweight build automation with plain JavaScript (see [`run.js`](run.js))\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Cross-device testing with [Browsersync](https://browsersync.io/)\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ Git-based deployment to [Azure App Service](https://azure.microsoft.com/services/app-service/) (see [`run.js/publish`](run.js))\u003cbr\u003e\n\u0026nbsp; \u0026nbsp; ✓ **24/7** community support on [Gitter](https://gitter.im/kriasoft/aspnet-starter-kit) or [StackOverflow](http://stackoverflow.com/questions/tagged/aspnet-starter-kit); consulting and customization requests on [Codementor](https://www.codementor.io/koistya)\u003cbr\u003e\n\n\n### Directory Layout\n\n```shell\n.\n├── /.vscode/                   # Visual Studio Code settings\n├── /build/                     # The folder for compiled output\n├── /client/                    # Client-side app (frontend)\n│   ├── /components/            # Common or shared UI components\n│   ├── /utils/                 # Helper functions and utility classes\n│   ├── /views/                 # UI components for web pages (screens)\n│   ├── history.js              # HTML5 History API wrapper used for navigation\n│   ├── main.js                 # Entry point that bootstraps the app\n│   ├── router.js               # Lightweight application router\n│   ├── routes.json             # The list of application routes\n│   └── store.js                # Application state manager (Redux)\n├── /client.test/               # Unit and integration tests for the frontend app\n├── /docs/                      # Documentation to the project\n├── /public/                    # Static files such as favicon.ico etc.\n│   ├── robots.txt              # Instructions for search engine crawlers\n│   └── ...                     # etc.\n├── /server/                    # Web server and data API (backend)\n│   ├── /Controllers/           # ASP.NET Web API and MVC controllers\n│   ├── /Models/                # Entity Framework models (entities)\n│   ├── /Views/                 # Server-side rendered views\n│   ├── appsettings.json        # Server-side application settings\n│   ├── Startup.cs              # Server-side application entry point\n│   └── web.config              # Web server settings for IIS\n├── /server.test/               # Unit and integration tests for the backend app\n│── jsconfig.json               # Visual Studio Code settings for JavaScript\n│── package.json                # The list of project dependencies and NPM scripts\n│── run.js                      # Build automation script (similar to gulpfile.js)\n└── webpack.config.js           # Bundling and optimization settings for Webpack\n```\n\n\n### Prerequisites\n\n* OS X, Windows or Linux\n* [Node.js](https://nodejs.org) v6 or newer\n* [.NET Core](https://www.microsoft.com/net/core) and [.NET Core SDK](https://www.microsoft.com/net/core)\n* [Visual Studio Code](https://code.visualstudio.com/) with [C# extension](https://github.com/OmniSharp/omnisharp-vscode) (or Visual Studio 2015 or newer)\n\n\n### Getting Started\n\n**Step 1**. Clone the latest version of **ASP.NET Core Starter Kit** on your local machine by running:\n\n```shell\n$ git clone -o aspnet-starter-kit -b master --single-branch \\\n      https://github.com/kriasoft/aspnet-starter-kit.git MyApp\n$ cd MyApp\n```\n\nAlternatively, scaffold your project with [Yeoman](http://yeoman.io/):\n\n```shell\n$ npm install -g yo\n$ npm install -g generator-aspnetcore\n$ yo aspnetcore\n```\n\n**Step 2**. Install project dependencies listed in [`project.json`](server/project.json) and\n[`package.json`](package.json) files: \n\n```shell\n$ npm install                   # Install both Node.js and .NET Core dependencies\n```\n\n**Step 3**. Finally, launch your web app:\n\n```shell\n$ node run                      # Compile and lanch the app, same as running: npm start\n```\n\nThe app should become available at [http://localhost:5000/](http://localhost:5000/).\nSee [`run.js`](run.js) for other available commands such as `node run build`, `node run publish` etc.\nYou can also run your app in a release (production) mode by running `node run --release`, or without\nHot Module Replacement (HMR) by running `node run --no-hmr`.\n\n\n### How to Deploy\n\nBefore you can deploy your app to [Azure App Service](https://azure.microsoft.com/services/app-service/),\nyou need to open Web App settings in [Azure Portal](https://portal.azure.com/), go to \"Deployment\nSource\", select \"Local Git Repository\" and hit [OK]. Then copy and paste \"Git clone URL\" of your\nWeb App into [`run.js/publish`](run.js) file. Finally, whenever you need to compile your\napp into a distributable format and upload that to Windows Azure App Service, simply run:\n\n```shell\n$ node run publish              # Same as running: npm run publish\n```\n\n### How to Update\n\nWe work hard on keeping the project up-to-date and adding new features. Down the road, after\nstarting a new web application project based on this boilerplate, you can always fetch and merge\nthe latest changes from this (upstream) repo back into your project by running:\n\n```shell\n$ git checkout master\n$ git fetch aspnet-starter-kit\n$ git merge aspnet-starter-kit/master \n```\n\nAlternatively, pull the latest version of this repository into a separate folder and compare it with\nyour project by using a diff tool such as [Beyond Compare](http://www.scootersoftware.com/).\n\n\n### How to Contribute\n\nAnyone and everyone is welcome to [contribute](CONTRIBUTING.md) to this project. The best way to\nstart is by checking our [open issues](https://github.com/kriasoft/aspnet-starter-kit/issues),\n[submit a new issues](https://github.com/kriasoft/aspnet-starter-kit/issues/new?labels=bug) or\n[feature request](https://github.com/kriasoft/aspnet-starter-kit/issues/new?labels=enhancement),\nparticipate in discussions, upvote or downvote the issues you like or dislike, send [pull\nrequests](CONTRIBUTING.md#pull-requests).\n\n\n### Learn React.js, ES6 and ASP.NET Core\n\n:mortar_board: \u0026nbsp; **[React.js Training Program](http://www.reactjsprogram.com/?asdf=36750_q0pu0tfa)** by Tyler McGinnis\u003cbr\u003e\n:mortar_board: \u0026nbsp; **[React for Beginners](https://reactforbeginners.com/friend/konstantin)** and **[ES6 Training Course](https://es6.io/friend/konstantin)** by Wes Bos\u003cbr\u003e\n:green_book: \u0026nbsp; **[React: Up \u0026 Running: Building Web Applications](http://amzn.to/2bBkZs1)** by Stoyan Stefanov (Aug, 2016)\u003cbr\u003e\n:green_book: \u0026nbsp; **[Getting Started with React](http://amzn.to/2beVRI9)** by Doel Sengupta and Manu Singhal (Apr, 2016)\u003cbr\u003e\n:green_book: \u0026nbsp; **[You Don't Know JS: ES6 \u0026 Beyond](http://amzn.to/2bFzlqe)** by Kyle Simpson (Dec, 2015)\u003cbr\u003e\n:green_book: \u0026nbsp; **[C# 6 and .NET Core 1.0: Modern Cross-Platform Development](http://amzn.to/2beV5uS)** by Mark J. Price (Mar, 2016)\u003cbr\u003e\n:green_book: \u0026nbsp; **[Professional C# 6 and .NET Core 1.0](http://amzn.to/2bhILsn)** by Christian Nagel (Apr, 2016)\u003cbr\u003e\n\n\n### Related Projects\n\n* [React App SDK](https://github.com/kriasoft/react-app) — build React applications with a single dev dependency and no build configuration\n* [React Starter Kit](https://github.com/kriasoft/react-starter-kit) — Isomorphic web app boilerplate (Node.js, Express, GraphQL, React)\n* [Babel Starter Kit](https://github.com/kriasoft/babel-starter-kit) — JavaScript library boilerplate (ES2015+, Babel, Rollup)\n* [ASP.NET Core Starter Kit `|\u003e` F#](https://github.com/kriasoft/fsharp-starter-kit) — Web app boilerplate (F#, .NET Core, Kestrel, GraphQL, React)\n* [Universal Router](https://github.com/kriasoft/universal-router) — Isomorphic router for web and single-page applications (SPA)\n* [Membership Database](https://github.com/membership/membership.db) — SQL database boilerplate for web app users, roles and auth tokens\n\n\n### Get in Touch\n\n* [#aspnet-starter-kit](https://gitter.im/kriasoft/aspnet-starter-kit) on Gitter\n* [@koistya](https://twitter.com/koistya) on [Codementor](https://www.codementor.io/koistya)\n  or [Skype](http://hatscripts.com/addskype?koistya)\n\n\n### License\n\nCopyright © 2014-present [Kriasoft](https://kriasoft.com). This source code is licensed under the MIT\nlicense found in the [LICENSE.txt](https://github.com/kriasoft/react-starter-kit/blob/master/LICENSE.txt)\nfile. The documentation to the project is licensed under the [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)\nlicense.\n\n\n---\nMade with ♥ by Konstantin Tarkus ([@koistya](https://twitter.com/koistya)) and [contributors](https://github.com/kriasoft/aspnet-starter-kit/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkriasoft%2Faspnet-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkriasoft%2Faspnet-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkriasoft%2Faspnet-starter-kit/lists"}