国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
如何創(chuàng)建一個新的Ember項目
路由器和路由
控制器
模板
組件
Ember-Data
生成用戶模型
生成用戶路由
設(shè)置固定數(shù)據(jù)並生成用戶模板
顯示單個用戶
編輯單個用戶
結(jié)論
Ember和Ember CLI有什麼區(qū)別?
如何安裝Ember CLI?
我收到一條錯誤消息,提示“您必須位於Ember CLI項目內(nèi)部才能使用serve命令”。這是什麼意思?
如何使用Ember CLI創(chuàng)建一個新的Ember應(yīng)用程序?
我應(yīng)該了解哪些基本的Ember CLI命令?
如何使用Ember CLI構(gòu)建我的應(yīng)用程序以進行生產(chǎn)?
如何使用Ember CLI在我的Ember應(yīng)用程序中生成新文件?
如何使用Ember CLI啟動開發(fā)服務(wù)器?
如何更新Ember CLI?
.ember-cli文件的用途是什麼?
首頁 web前端 js教程 灰燼和Ember CLI入門

灰燼和Ember CLI入門

Feb 19, 2025 am 11:56 AM

Getting started with Ember and Ember CLI

核心要點

  • Ember CLI是一個為Ember構(gòu)建的命令行工具,它結(jié)合了生成器、壓縮器、CSS預(yù)處理器編譯器、自動重載和ES6模塊加載器等多種功能。它可以作為Grunt和Gulp等工具的替代方案,用於設(shè)置新的Ember項目。
  • Ember遵循約定優(yōu)於配置的理念,這意味著它具有許多默認(rèn)設(shè)置,可以簡化開發(fā)過程。關(guān)鍵元素包括路由、控制器、模板、組件和Ember-Data。
  • 本教程提供了一個分步指南,介紹如何使用Ember CLI構(gòu)建簡單的聯(lián)繫人管理器應(yīng)用程序。它涵蓋了創(chuàng)建新的Ember項目、設(shè)置固定數(shù)據(jù)、生成用戶模型和路由、創(chuàng)建用戶模板以及添加顯示和編輯用戶信息的功能。
  • Ember是一個功能強大的JavaScript框架,適用於構(gòu)建大型Web應(yīng)用程序。借助Ember CLI,它提供了一個標(biāo)準(zhǔn)化的開發(fā)環(huán)境,可以更輕鬆地管理依賴項、自動化任務(wù)和執(zhí)行最佳實踐。

Ember多年來經(jīng)歷了許多變化。其中最大的一次變化是引入了Ember CLI,這是一個為Ember構(gòu)建的命令行工具。它結(jié)合了生成器、壓縮器、CSS預(yù)處理器編譯器、自動重載和ES6模塊加載器等多種功能。此命令行工具將幫助您減少在設(shè)置Grunt和Gulp等工具上花費的時間??梢哉f,對於任何全新的Ember項目,它都是這些工具的良好替代方案。在本文中,您將學(xué)習(xí)如何使用Ember CLI構(gòu)建簡單的聯(lián)繫人管理器應(yīng)用程序。本教程與我在SitePoint上發(fā)布的其他關(guān)於Ember的文章略有不同,因為它們沒有附帶Ember CLI。但是,大多數(shù)這些概念仍然適用,因此我建議您查看它們並繼續(xù)學(xué)習(xí)。本文的完整代碼可在GitHub上找到。

如何安裝Ember CLI

要安裝Ember CLI,您需要先安裝幾個依賴項。第一個是Node.js。您至少需要0.12.x版本。接下來,需要安裝Bower,可以通過運行以下命令來完成:

npm install -g bower

然後,要安裝Ember CLI,請運行以下命令:

npm install -g ember-cli

如何創(chuàng)建一個新的Ember項目

在開始進行精彩的操作之前,您需要打開終端並按順序執(zhí)行以下命令,以便創(chuàng)建一個名為contactmanager的新項目文件夾:

ember new contactmanager

第二步,進入目錄,然後使用以下命令安裝所有npm和Bower依賴項:

cd contactmanager
npm install
bower install

此時,通過執(zhí)行以下命令啟動內(nèi)置的Ember服務(wù)器:

ember serve

您現(xiàn)在可以在URL localhost:4200訪問您的新應(yīng)用程序。這是在本地計算機上運行的Ember應(yīng)用程序的默認(rèn)端口,但您可以根據(jù)需要更改它。如果您按照所有指示的步驟操作,現(xiàn)在應(yīng)該在瀏覽器中看到一個標(biāo)題,上面寫著“歡迎使用Ember”。

Ember約定和結(jié)構(gòu)

在深入構(gòu)建應(yīng)用程序之前,讓我們回顧一下一些Ember約定。

路由器和路由

路由是Ember應(yīng)用程序的入口點。路由在app/router.js文件中使用Router定義。它們允許您訪問應(yīng)用程序的不同部分。例如,如果您決定需要在應(yīng)用程序中管理用戶,則必須定義用戶路由。您可以使用以下語法執(zhí)行此操作:

npm install -g bower

這將為我們創(chuàng)建以下URL:

  • /users/
  • /users/index/
  • /users/loading/

按照慣例,當(dāng)您定義路由時,Ember期望找到其他關(guān)聯(lián)類型,例如路由、控制器和模板。我們可以決定顯式創(chuàng)建這些類型,或者允許Ember為我們創(chuàng)建它們。在許多應(yīng)用程序中,您很可能必須自己創(chuàng)建它們,但這取決於您。請記住,區(qū)分路由器和路由至關(guān)重要。我們上面創(chuàng)建的URL結(jié)構(gòu)是使用路由器完成的。這些僅顯示我們希望在應(yīng)用程序中使用這些URL的意圖。我們還沒有創(chuàng)建實際的路由,而只是這些路由的URL。要創(chuàng)建路由,我們必須在routes文件夾中遵循此過程。如果您感到困惑,請不要擔(dān)心,因為我將在本文後面更深入地探討此主題。

控制器

控制器是一種用於存儲視圖狀態(tài)的類型,位於app/controllers文件夾中。它們與路由協(xié)同工作。在這種情況下,上面的URL對應(yīng)於/user/,並且需要一個名為/users/的控制器。同樣在這裡,我們可以自由選擇是否自己定義它??刂破鬟€定義視圖操作(如點擊、懸停等)的事件處理程序。

模板

模板是Ember的表示部分。您使用名為Handlebars的模板語言編寫它,該語言編譯成純HTML。模板位於app/templates文件夾中。

組件

組件是小的自包含的功能塊。您可以將它們視為表示和功能的組合,它們可重用且易於維護。

Ember-Data

這是一個由Ember核心團隊維護的庫,它補充了Ember核心,並充當(dāng)管理數(shù)據(jù)模型的前端ORM。還有其他一些我以前沒有使用過的替代方案,並且不在本文的討論範(fàn)圍之內(nèi),因為我們將使用Ember-data。

應(yīng)用程序

我們將構(gòu)建的聯(lián)繫人管理應(yīng)用程序?qū)ㄒ粋€用戶列表及其可用的聯(lián)繫信息。該應(yīng)用程序?qū)⒃试S我們創(chuàng)建、編輯、刪除和查看用戶。為了使我們的應(yīng)用程序簡潔明了,我們將使用Ember CLI附帶的固定適配器。這充當(dāng)後端,除了數(shù)據(jù)不會在頁面刷新時持久化之外。首先,如果您尚未創(chuàng)建,請使用ember new contactmanager創(chuàng)建一個新的Ember項目。

生成用戶模型

移至項目文件夾並使用以下命令生成用戶模型:

npm install -g ember-cli

這將在app/models中創(chuàng)建一個名為user.js的文件,其內(nèi)容如下:

npm install -g bower

進行必要的更改,以使導(dǎo)出語句如下所示:

npm install -g ember-cli

這定義了我們的用戶模型將具有的屬性。

生成用戶路由

現(xiàn)在,將以下幾行添加到您的router.js文件中,以便為我們提供一些可用的URL:

ember new contactmanager

我們有三個新的URL。其中一個是列出用戶,另一個是查看單個用戶,最後一個是編輯用戶信息。接下來,讓我們使用以下命令創(chuàng)建一個用戶路由:

cd contactmanager
npm install
bower install

此路由將用於檢索我們的用戶列表。使用以下代碼段更改其內(nèi)容:

ember serve

設(shè)置固定數(shù)據(jù)並生成用戶模板

此時,讓我們向我們的應(yīng)用程序添加一些臨時數(shù)據(jù)。為此,運行以下命令:

Router.map(function() {
  this.resource('users', function() {});
});

這會在app/adapters/文件夾中生成一個名為application.js的文件。默認(rèn)情況下,Ember使用RestAdapter查詢模型。此適配器假設(shè)您有一個後端系統(tǒng),該系統(tǒng)向您的Ember客戶端應(yīng)用程序提供JSON數(shù)據(jù)。由於我們沒有後端,在這種情況下,我們希望改為使用固定數(shù)據(jù)。因此,我們將更新適配器代碼如下所示:

ember generate model user

並向您的用戶模型添加以下內(nèi)容以創(chuàng)建一些固定裝置。

import DS from 'ember-data';

export default DS.Model.extend({
});

如果您導(dǎo)航到URL localhost:4200/users,您只會看到舊的問候消息,而不會看到我們剛剛添加的用戶固定數(shù)據(jù)。要查看用戶數(shù)據(jù),我們需要使用以下命令為用戶創(chuàng)建一個模板:

export default DS.Model.extend({
  firstName: DS.attr(),
  lastName: DS.attr(),
  addressLine: DS.attr(),
  postCode: DS.attr(),
  country: DS.attr()
});

這會在app/templates/文件夾中創(chuàng)建一個名為users.hbs的文件。打開此文件並將其內(nèi)容更新如下:

Router.map(function() {
  this.resource('users', function() {
    this.route('show',{path: '/:user_id'});
    this.route('edit',{path: '/:user_id/edit'});
  });
});

您現(xiàn)在應(yīng)該看到一個用戶列表,每個用戶旁邊都有一個編輯文本。因為我們固定數(shù)據(jù)中只有一個用戶,所以我們只會看到一個用戶。您可以根據(jù)需要向用戶固定裝置中添加更多用戶對象。只需確保每個對像都有一個唯一的ID。

顯示單個用戶

既然我們已經(jīng)列出了我們的用戶,讓我們看看顯示用戶完整信息的方法。首先。通過將每個用戶名旁邊的“編輯”文本用鏈接括起來來更改users模板中的代碼。然後,將“編輯”更改為:

ember generate route users

接下來,讓我們使用以下命令生成一個用戶控制器:

import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.find('user');
  }
});

在(用戶控制器)內(nèi)部,將內(nèi)容更改為如下所示:

ember generate adapter application

完成後,使用以下命令生成一個用於編輯用戶的模板:

import DS from 'ember-data';

export default DS.FixtureAdapter.extend({
});

目前,創(chuàng)建的模板(app/templates/users/show.hbs)為空。打開它並添加以下代碼:

User.reopenClass({
   FIXTURES: [{
      id: 1,
      firstName: 'James',
      lastName: 'Rice',
      addressLine: '66 Belvue Road',
      postCode: 'M235PS',
      country: 'United Kingdom'
   }]
});

這樣做,您應(yīng)該能夠看到您單擊的每個用戶的完整信息。

編輯單個用戶

如果您想編輯單個用戶,則必須遵循一些簡單的步驟。首先,通過將每個用戶名旁邊的“編輯”文本用鏈接括起來來鏈接到用戶編輯路由。然後,將“編輯”更改為:

npm install -g bower

接下來,讓我們使用以下命令生成一個用戶控制器:

npm install -g ember-cli

在(用戶控制器)內(nèi)部,將內(nèi)容更改為如下所示:

ember new contactmanager

完成後,使用以下命令生成一個用於編輯用戶的模板:

cd contactmanager
npm install
bower install

在新的模板app/templates/users/edit中,粘貼以下代碼:

ember serve

此代碼在提交表單時調(diào)用我們控制器上的saveUser()函數(shù)。該函數(shù)傳遞正在編輯的用戶並保存修改後的信息。有了此更改,當(dāng)您單擊用戶的編輯鏈接時,您可以編輯其詳細信息。當(dāng)您單擊保存按鈕時,您可以保存它們,之後您將被重定向回用戶列表。萬歲!我們現(xiàn)在有一個簡單的聯(lián)繫人列表管理器。您可以通過將其連接到真實後端來將其轉(zhuǎn)換為完整應(yīng)用程序,以便在頁面刷新時持久化數(shù)據(jù)。我還鼓勵您向應(yīng)用程序添加刪除功能,以便您可以隨時刪除不需要的用戶。

結(jié)論

Emberhttp://www.miracleart.cn/link/0e0f9e664029e8912996d65c1cf09761是一個用於構(gòu)建大型Web應(yīng)用程序的框架。它具有約定優(yōu)於配置的理念,這意味著它基於幾個常見的決定,並且具有許多默認(rèn)(約定),這使得您的開發(fā)過程更容易。這樣,您在開發(fā)過程中就不必做出許多瑣碎的決定。我希望您喜歡閱讀本教程並學(xué)習(xí)了有關(guān)如何在您的項目中使用如此強大而簡單的JavaScript框架的新知識。請在下面的評論中告訴我們您的想法。您可以在GitHub上找到應(yīng)用程序的代碼。

關(guān)於Ember入門和Ember CLI的常見問題

Ember和Ember CLI有什麼區(qū)別?

Ember是一個用於構(gòu)建Web應(yīng)用程序的JavaScript框架,而Ember CLI是一個命令行工具,可幫助您創(chuàng)建、開發(fā)和構(gòu)建Ember應(yīng)用程序。 Ember CLI提供了一個標(biāo)準(zhǔn)化的開發(fā)環(huán)境,使管理依賴項、自動化任務(wù)和執(zhí)行最佳實踐變得更容易。

如何安裝Ember CLI?

要安裝Ember CLI,您需要在系統(tǒng)上安裝Node.js和npm。安裝這些先決條件後,您可以使用終端中的以下命令安裝Ember CLI:npm install -g ember-cli

我收到一條錯誤消息,提示“您必須位於Ember CLI項目內(nèi)部才能使用serve命令”。這是什麼意思?

當(dāng)您嘗試在Ember CLI項目目錄之外運行ember serve命令時,會出現(xiàn)此錯誤。要解決此問題,請在運行ember serve之前,使用cd命令導(dǎo)航到項目的根目錄。

如何使用Ember CLI創(chuàng)建一個新的Ember應(yīng)用程序?

您可以使用ember new命令後跟應(yīng)用程序的名稱來創(chuàng)建一個新的Ember應(yīng)用程序。例如,ember new my-app將創(chuàng)建一個名為“my-app”的新Ember應(yīng)用程序。

我應(yīng)該了解哪些基本的Ember CLI命令?

您應(yīng)該了解的一些基本的Ember CLI命令包括ember new(創(chuàng)建新應(yīng)用程序)、ember serve(啟動開發(fā)服務(wù)器)、ember generate(生成新文件)和ember build(構(gòu)建您的應(yīng)用程序以進行部署)。

如何使用Ember CLI構(gòu)建我的應(yīng)用程序以進行生產(chǎn)?

您可以使用ember build命令並將--environment選項設(shè)置為“production”來構(gòu)建您的應(yīng)用程序以進行生產(chǎn)。該命令如下所示:ember build --environment production。

如何使用Ember CLI在我的Ember應(yīng)用程序中生成新文件?

您可以使用ember generate命令後跟文件類型及其名稱來在Ember應(yīng)用程序中生成新文件。例如,ember generate route about將生成一個名為“about”的新路由。

如何使用Ember CLI啟動開發(fā)服務(wù)器?

您可以使用ember serve命令啟動開發(fā)服務(wù)器。這將啟動服務(wù)器,並使您的應(yīng)用程序可在http://localhost:4200訪問。

如何更新Ember CLI?

您可以先使用命令npm uninstall -g ember-cli卸載舊版本,然後使用命令npm install -g ember-cli安裝新版本來更新Ember CLI。

.ember-cli文件的用途是什麼?

.ember-cli文件是Ember CLI的配置文件。它允許您自定義Ember CLI項目的行為。例如,您可以指定開發(fā)服務(wù)器的默認(rèn)端口,啟用或禁用某些功能等等。

以上是灰燼和Ember CLI入門的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用於不同的應(yīng)用場景。 Java用於大型企業(yè)和移動應(yīng)用開發(fā),而JavaScript主要用於網(wǎng)頁開發(fā)。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時間合作? 如何在JS中與日期和時間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時間處理需注意以下幾點:1.創(chuàng)建Date對像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時間信息可用get和set方法,注意月份從0開始;3.手動格式化日期需拼接字符串,也可使用第三方庫;4.處理時區(qū)問題建議使用支持時區(qū)的庫,如Luxon。掌握這些要點能有效避免常見錯誤。

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

為什麼要將標(biāo)籤放在的底部? 為什麼要將標(biāo)籤放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript:探索用於高效編碼的數(shù)據(jù)類型 JavaScript:探索用於高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什麼是在DOM中冒泡和捕獲的事件? 什麼是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過addEventListener的useCapture參數(shù)設(shè)為true實現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯誤處理。了解這兩個階段有助於精確控制JavaScript響應(yīng)用戶操作的時機和方式。

Java和JavaScript有什麼區(qū)別? Java和JavaScript有什麼區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語言。 1.Java是靜態(tài)類型、編譯型語言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動態(tài)類型、解釋型語言,主要用於網(wǎng)頁交互和前端開發(fā)。

See all articles