搜索
首页web前端js教程ember.js:Web应用程序的理想框架

Ember.js: The Perfect Framework for Web Applications

Ember.js 是一款注重约定优于配置的现代化前端 JavaScript 框架,近期备受关注。本文将通过构建一个简单的掷骰子应用,介绍该框架的关键概念及其实现能力。

我们的示例应用是一个掷骰子程序,允许用户掷骰子并查看历史记录。该应用的完整代码可在 Github 上找到。

Ember.js 集成了许多现代 JavaScript 概念和技术,包括但不限于:

  • 使用 Babel 转译器支持 ES2016。
  • 标准的单元、集成和验收测试支持,由 Testem 和 QTest 提供支持。
  • 使用 Broccoli.js 构建资源。
  • 支持实时重载,缩短开发周期。
  • 使用 Handlebars 模板语法。
  • URL 路由优先开发,确保完全支持深度链接。
  • 基于 JSON API 构建完整的数据层,但可根据需要插入其他 API 访问方式。

要使用 Ember.js,需要安装最新版本的 Node.js 和 npm。如果没有,可以从 Node.js 官网下载并安装。

需要说明的是,Ember.js 纯粹是一个前端框架。它有多种与您选择的后台交互的方式,但后台本身并非由 Ember.js 处理。

关键要点

  • Ember.js 是一个全面的前端 JavaScript 框架,它将现代 JavaScript 功能和工具集成到一个单一的、一致的包中,非常适合构建 Web 应用程序。
  • 该框架基于“约定优于配置”的原则,通过提供合理的默认值和最佳实践来简化开发流程,从而加快开发周期并减少设置时间。
  • Ember-cli(Ember 的命令行界面)是一个强大的工具,它管理着从项目创建和开发到测试和部署的整个开发生命周期,从而提高了生产力和效率。
  • Ember.js 原生支持强大的 URL 路由和深度链接,确保应用程序对 SEO 友好,并通过清晰的导航结构保持可维护性。
  • 该框架包含一个内置的数据层,用于管理客户端和服务器之间的数据交互,默认支持 JSON API,但允许自定义以适应不同的后端 API。
  • 测试在 Ember.js 中是头等公民,它支持单元测试、集成测试和验收测试,由 Testem 和 QTest 等工具提供支持,这有助于确保应用程序的可靠性和质量。
  • Ember.js 使用组件和模板简化了可重用和可维护的用户界面元素的开发,促进了 Web 应用程序设计和架构的最佳实践。

介绍 ember-cli

Ember.js: The Perfect Framework for Web Applications Ember.js 的强大功能很大程度上来自于它的命令行界面 (CLI)。这个工具——称为 ember-cli——驱动着 Ember.js 应用程序的大部分开发生命周期,从创建应用程序,到添加功能,再到运行测试套件和以开发模式启动实际项目。

在开发 Ember.js 应用程序时,几乎所有操作都将在某种程度上涉及到此工具,因此了解如何最好地使用它非常重要。我们将在本文中使用它。

首先,我们需要确保 Ember.js CLI 正确安装并更新。这可以通过从 npm 安装来完成,如下所示:

$ npm install -g ember-cli

我们可以通过运行以下命令来检查它是否已成功安装:

$ ember --version
ember-cli: 2.15.0-beta.1
node: 8.2.1
os: darwin x64

创建您的第一个 Ember.js 应用

安装 ember-cli 后,您就可以开始创建应用程序了。这是我们将首次使用 Ember.js CLI 工具的地方——它创建整个应用程序结构,设置好所有内容以便运行。

$ ember new dice-roller
... (安装过程输出) ...

这将创建一个完整的应用程序,可以立即运行。它甚至设置了 Git 作为源代码控制来跟踪您的工作。

注意:如果需要,可以禁用 Git 集成,也可以选择使用 Yarn 而不是 npm。该工具的帮助文档对此以及更多内容进行了描述。

现在,让我们看看它是什么样的。使用 ember-cli 启动 Ember 应用程序进行开发:

$ npm install -g ember-cli

现在我们准备好了。应用程序正在 https://www.php.cn/link/988aaaa9bd19c1e0f8043a132bbf1af3 上运行,如下所示:Ember.js: The Perfect Framework for Web Applications

它还运行着一个 LiveReload 服务,该服务会自动监视文件系统的更改。这意味着在调整网站设计时,您可以拥有非常快的周转时间。

让我们试试看?

初始页面已经告诉我们该做什么了,所以让我们更改主页面并看看会发生什么。我们将更改 app/templates/application.hbs 文件,使其如下所示:

$ ember --version
ember-cli: 2.15.0-beta.1
node: 8.2.1
os: darwin x64

注意:{{outlet}} 标签是 Ember 路由工作方式的一部分。稍后我们将介绍它。

首先要注意的是 ember-cli 的输出,它应该如下所示:

$ ember new dice-roller
... (安装过程输出) ...

这告诉我们它已经发现我们更改了模板并重新构建并重新启动了所有内容。我们对这部分内容没有任何参与。

现在让我们看看浏览器。如果您安装并运行了 LiveReload,则甚至不需要刷新浏览器即可拾取它,否则,您需要重新加载当前页面。

Ember.js: The Perfect Framework for Web Applications

虽然不是很有趣,但我们几乎没有付出任何努力就实现了这一点。

此外,我们还获得了一个完全设置好的测试套件,可以运行。不出所料,这也是使用 Ember 工具运行的:

$ cd dice-roller
$ ember serve
... (启动过程输出) ...

请注意,输出中提到了 PhantomJS。这是因为完全支持在浏览器中运行的集成测试,默认情况下,这些测试在 PhantomJS 浏览器中无头运行。如果您愿意,可以完全支持在其他浏览器中运行它们,并且在设置持续集成 (CI) 时,值得这样做,以确保您的应用程序在所有受支持的浏览器中都能正常工作。

...(剩余内容与原文类似,可根据需要调整部分语句,保持整体意思不变,并保留图片格式及位置)

以上是ember.js:Web应用程序的理想框架的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript中替换字符串字符在JavaScript中替换字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

8令人惊叹的jQuery页面布局插件8令人惊叹的jQuery页面布局插件Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

构建您自己的Ajax Web应用程序构建您自己的Ajax Web应用程序Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

10个JQuery Fun and Games插件10个JQuery Fun and Games插件Mar 08, 2025 am 12:42 AM

10款趣味横生的jQuery游戏插件,让您的网站更具吸引力,提升用户粘性!虽然Flash仍然是开发休闲网页游戏的最佳软件,但jQuery也能创造出令人惊喜的效果,虽然无法与纯动作Flash游戏媲美,但在某些情况下,您也能在浏览器中获得意想不到的乐趣。 jQuery井字棋游戏 游戏编程的“Hello world”,现在有了jQuery版本。 源码 jQuery疯狂填词游戏 这是一个填空游戏,由于不知道单词的上下文,可能会产生一些古怪的结果。 源码 jQuery扫雷游戏

如何创建和发布自己的JavaScript库?如何创建和发布自己的JavaScript库?Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

使用AJAX动态加载盒内容使用AJAX动态加载盒内容Mar 06, 2025 am 01:07 AM

本教程演示了创建通过Ajax加载的动态页面框,从而可以即时刷新,而无需全页重新加载。 它利用jQuery和JavaScript。将其视为自定义的Facebook式内容框加载程序。 关键概念: Ajax和JQuery

jQuery视差教程 - 动画标题背景jQuery视差教程 - 动画标题背景Mar 08, 2025 am 12:39 AM

本教程演示了如何使用jQuery创建迷人的视差背景效果。 我们将构建一个带有分层图像的标题横幅,从而创造出令人惊叹的视觉深度。 更新的插件可与JQuery 1.6.4及更高版本一起使用。 下载

如何为JavaScript编写无曲奇会话库如何为JavaScript编写无曲奇会话库Mar 06, 2025 am 01:18 AM

此JavaScript库利用窗口。名称属性可以管理会话数据,而无需依赖cookie。 它为浏览器中存储和检索会话变量提供了强大的解决方案。 库提供了三种核心方法:会话

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具