{"id":16412214,"url":"https://github.com/waylau/mean-book-samples","last_synced_at":"2025-08-01T16:35:02.791Z","repository":{"id":43436885,"uuid":"201932106","full_name":"waylau/mean-book-samples","owner":"waylau","description":"MEAN Samples. （MEAN架构应用示例）","archived":false,"fork":false,"pushed_at":"2022-03-02T05:20:41.000Z","size":10247,"stargazers_count":14,"open_issues_count":121,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T23:15:43.462Z","etag":null,"topics":["angular","express","mongodb","node"],"latest_commit_sha":null,"homepage":"","language":null,"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/waylau.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":"2019-08-12T13:06:00.000Z","updated_at":"2024-06-25T22:22:17.000Z","dependencies_parsed_at":"2022-09-13T20:10:50.462Z","dependency_job_id":null,"html_url":"https://github.com/waylau/mean-book-samples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waylau/mean-book-samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fmean-book-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fmean-book-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fmean-book-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fmean-book-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waylau","download_url":"https://codeload.github.com/waylau/mean-book-samples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fmean-book-samples/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268260948,"owners_count":24221858,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["angular","express","mongodb","node"],"created_at":"2024-10-11T06:48:02.466Z","updated_at":"2025-08-01T16:35:02.549Z","avatar_url":"https://github.com/waylau.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# MEAN Samples. 《MongoDB＋Express＋Angular＋Node.js全栈开发实战派》源码\n\n\n## 内容简介\n\n以MongoDB、Express、Angular和Node.js四种技术为核心的技术栈（MEAN架构），被广泛应用于全栈Web开发。\n\n《MongoDB＋Express＋Angular＋Node.js全栈开发实战派》最终带领读者从零开始实现一个完整的、企业级的、前后端分离的应用——“新闻头条”，使读者具备用MEAN架构完整开发企业级应用的能力。\n\n本书分为6篇。第1篇介绍MEAN架构的基础概念，使读者对MEAN架构有一个初步的印象。第2篇介绍全栈开发平台Node.js的常用知识点，包括模块、测试、缓冲区、事件处理、文件处理、HTTP编程等。第3篇介绍Web服务器Express的常用知识点。第4篇介绍NoSQL数据库MongoDB的常用知识点，以及其在Node.js中的应用。第5篇介绍前端应用开发平台Angular的常用知识点，包括组件、模板、数据绑定、指令、服务、依赖注入、路由、响应式编程、HTTP客户端等。第6篇带领读者实现一个完整的应用——“新闻头条”。\n\n第2～5篇介绍了58个实例，将理论讲解最终落实到代码实现上。随着图书内容的推进，这些实例不断趋近于工程项目，具有很高的应用价值和参考价值。\n\n本书由浅入深、层层推进、结构清晰、实例丰富、通俗易懂、实用性强，适合MEAN架构的初学者和进阶读者作为自学用书，也适合培训学校作为培训教材，还适合大、中专院校的相关专业作为教学参考书。\n\n## 本书所涉及的技术及相关版本\n\n\n本书所采用的技术及相关版本较新，请读者将相关开发环境设置成与本书所采用的一致，或者不低于本书所列的配置。\n\n* Node.js 12.9.0\n* npm 6.12.2\n* Express 4.17.1\n* MongoDB Community Server 4.0.10\n* mongodb 3.3.1\n* Angular CLI 8.3.0\n* NG-ZORRO 8.1.2\n* basic-auth 2.0.1\n* ngx-markdown 8.1.0\n* NGINX 1.15.8\n\n\n## 案例源码\n\n* [hello-world](samples/hello-world)：第一个Node.js应用\n* [deep-strict-equal](samples/deep-strict-equal/)：deepStrictEqual示例\n* [buffer-demo/character-encodings.js](samples/buffer-demo/character-encodings.js)：指定字符编码\n* [buffer-demo/buffer-slice.js](samples/buffer-demo/buffer-slice.js)：切分缓冲区\n* [buffer-demo/buffer-concat.js](samples/buffer-demo/buffer-concat.js)：连接缓冲区\n* [buffer-demo/buffer-compare.js](samples/buffer-demo/buffer-compare.js)：比较缓冲区\n* [buffer-demo/buffer-read.js](samples/buffer-demo/buffer-read.js)：缓冲区解码\n* [buffer-demo/buffer-write.js](samples/buffer-demo/buffer-write.js)：缓冲区编码\n* [events-demo/parameter-this.js](samples/events-demo/parameter-this.js)：监听事件\n* [events-demo/parameter-lambda.js](samples/events-demo/parameter-lambda.js)：lambda方式监听事件\n* [events-demo/set-immediate.js](samples/events-demo/set-immediate.js)：异步模式监听事件\n* [events-demo/emitter-once.js](samples/events-demo/emitter-once.js)：仅处理事件一次\n* [events-demo/error-event.js](samples/events-demo/error-event.js)：为error事件注册监听器\n* [events-demo/event-names.js](samples/events-demo/event-names.js)：获取已注册的事件的名称\n* [events-demo/event-listeners.js](samples/events-demo/event-listeners.js)：获取监听器数组的副本\n* [events-demo/prepend-listener.js](samples/events-demo/prepend-listener.js)：将事件监听器添加到监听器数组的开头\n* [events-demo/remove-listener.js](samples/events-demo/remove-listener.js)：移除监听器\n* [fs-demo/fs-open.js](samples/fs-demo/fs-open.js)：打开文件\n* [fs-demo/fs-read.js](samples/fs-demo/fs-read.js)：读取文件\n* [fs-demo/fs-read-dir.js](samples/fs-demo/fs-read-dir.js)：读取目录\n* [fs-demo/fs-read-file.js](samples/fs-demo/fs-read-file.js)：读取文件的全部内容\n* [fs-demo/fs-write.js](samples/fs-demo/fs-write.js)：写入文件\n* [fs-demo/fs-write-string.js](samples/fs-demo/fs-write-string.js)：将字符串写入文件\n* [fs-demo/fs-write-file.js](samples/fs-demo/fs-write-file.js)：将数据写入文件\n* [http-demo/hello-world.js](samples/http-demo/hello-world.js)：第一个HTTP服务器\n* [http-demo/rest-service.js](samples/http-demo/rest-service.js)：构建REST服务的例子\n* [express-demo](samples/express-demo)：Express示例\n* [express-rest](samples/express-rest)：Express REST 示例\n* [mongodb-demo](samples/mongodb-demo)：操作MongoDB的例子\n* [angular-demo](samples/angular-demo)：Angular应用的例子\n* [life-cycle](samples/life-cycle)：Angular生命周期钩子的例子\n* [component-interaction](samples/component-interaction)：Angular组件交互方式\n* [component-style](samples/component-style)：Angular使用组件样式的例子\n* [attribute-directives](samples/attribute-directives)：使用属性型指令的例子\n* [structural-directives](samples/structural-directives)：自定义结构型指令\n* [dependency-injection](samples/dependency-injection)：依赖注入的例子\n* [router](samples/router)：路由器的例子\n* [http-client](samples/http-client)：HttpClient的例子\n* [mean-news-ui](samples/mean-news-ui)：新闻头条前端UI客户端应用\n* [mean-news-server](samples/)：新闻头条后台服务器应用\n\n\n## 配套书籍《MongoDB＋Express＋Angular＋Node.js全栈开发实战派》\n\n与该源码配套的书籍《MongoDB＋Express＋Angular＋Node.js全栈开发实战派》已经出版，内容详见全书[目录](SUMMARY.md)。\n\n![](images/mean.jpg)\n\n\n本书如有勘误，会在\u003chttps://github.com/waylau/mean-book-samples/issues\u003e上进行发布。由于笔者能力有限，时间仓促，难免错漏，欢迎读者批评指正。\n\n您也可以上[豆瓣](https://book.douban.com/subject/35085913/)给老卫打Call。\n\n\n## 如何获取本书\n\n实体店及各大网店有售。据我所知有如下网站供应：\n\n* [京东](https://search.jd.com/Search?keyword=%E6%9F%B3%E4%BC%9F%E5%8D%AB%20MongoDB%2BExpress%2BAngular%2BNode.js%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%B4%BE\u0026enc=utf-8\u0026wq=%E6%9F%B3%E4%BC%9F%E5%8D%AB%20MongoDB%2BExpress%2BAngular%2BNode.js%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%B4%BE\u0026pvid=01572d08e57c46bd9723205d5ba13644)\n* [1号店](https://search.yhd.com/c0-0/k%25E6%259F%25B3%25E4%25BC%259F%25E5%258D%25AB%2520MongoDB%252BExpress%252BAngular%252BNode.js%25E5%2585%25A8%25E6%25A0%2588%25E5%25BC%2580%25E5%258F%2591%25E5%25AE%259E%25E6%2588%2598%25E6%25B4%25BE/)\n* [淘宝](https://s.taobao.com/search?q=%E6%9F%B3%E4%BC%9F%E5%8D%AB+MongoDB%2BExpress%2BAngular%2BNode.js%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%B4%BE\u0026imgfile=\u0026commend=all\u0026ssid=s5-e\u0026search_type=item\u0026sourceId=tb.index\u0026spm=a21bo.2017.201856-taobao-item.1\u0026ie=utf8\u0026initiative_id=tbindexz_20170306)\n* [当当](http://search.dangdang.com/?key=%C1%F8%CE%B0%CE%C0%20MongoDB%2BExpress%2BAngular%2BNode.js%C8%AB%D5%BB%BF%AA%B7%A2%CA%B5%D5%BD%C5%C9\u0026act=input)\n* [亚马逊](https://www.amazon.cn/s?k=%E6%9F%B3%E4%BC%9F%E5%8D%AB+MongoDB%2BExpress%2BAngular%2BNode.js%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%B4%BE\u0026__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99\u0026ref=nb_sb_noss)\n\n\n想低于市价得到本书？来[二手书集市](https://github.com/waylau/second-hand-books)试试看。\n\n\n也可以直接关注我博客（\u003chttps://waylau.com/\u003e）或者我的开源书（\u003chttps://waylau.com/books/\u003e）了解更多免费咨询。\n\n\n\n \n## 联系作者\n\n您也可以直接联系我：\n\n* 博客：https://waylau.com\n* 邮箱：[waylau521(at)gmail.com](mailto:waylau521@gmail.com)\n* 微博：http://weibo.com/waylau521\n* 开源：https://github.com/waylau\n\n## 其他书籍\n\n若您对本书不感冒，笔者还写了其他方面的超过一打的书籍（可见\u003chttps://waylau.com/books/\u003e），多是开源电子书。\n\n本人也维护了一个[books-collection](https://github.com/waylau/books-collection)项目，里面提供了优质的专门给程序员的开源、免费图书集合。\n\n## 开源捐赠\n\n\n\n![开源捐赠](https://waylau.com/images/showmethemoney-sm.jpg)\n\n捐赠所得所有款项将用于开源事业！见[捐赠](https://waylau.com/donate)列表。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylau%2Fmean-book-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaylau%2Fmean-book-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylau%2Fmean-book-samples/lists"}