Ember旅程系列(五) -- 安装插件

英文原版:https://guides.emberjs.com/v2.13.0/tutorial/installing-addons/

Ember拥有丰富的插件生态系统可以让你很容易的在项目中使用它们。插件为项目提供了非常广泛的支持,可以让你解放到基本只需要关注项目本身。

若需要查看插件列表,请访问 Ember Observer 站点。该站点将插件分类汇总并且已经发布到NPM。

至于我们的Super Rentals项目,我们将采用其中两个插件: ember-cli-tutorial-styleember-cli-mirage

ember-cli-tutorial-style

为了避免你机械性的 复制/粘贴 css样式,我们需要搞个插件,即 ember-cli-tutorial-style ,这个插件可以直接加样式。使用这个插件时需要生成一个名叫
ember-tutorial.css的样式文件,并且把它放在 项目的 vendor目录下。

vendor目录比较特殊,它下面的资源都会被编译到应用中。当Ember CLI 构建我们的应用时,它会把ember-tutorial.css的内容打包放到vendor.css文件中。

当Ember CLI运行的时候,它会把ember-tutorial.css 文件的内容装进vendor.css。 vendor.css文件会被app/index.html页面引用,从而让样式附着到应用上。

我们可以对vendor/ember-tutorial.css中的样式做适当的调整,只要一重新运行你的app。效果就会显示出来、

运行下面的命令来安装插件:

ember install ember-cli-tutorial-style

只要Ember插件由NPM安装,那么最终就会安装到node_modules目录中,并且在package.json文件中添加相应的条目。

请确保在插件安装完之后重启你的服务器。 服务器重启会让你新添加的样式应用到页面上:
这里写图片描述

ember-cli-mirage

Mirage 是一个位于客户端的HTTP服务器,一般用来做模拟测试。对于我们目前的应用来说,我们将使用Mirage来作为我们的数据源(模拟后台服务器、数据库)。
Mirage可以让我们在开发的时候造一些模拟数据,并且它自身可以模拟为后端服务器。

安装Mirage插件使用以下命令:

ember install ember-cli-mirage

紧接着,让我们来配置这个东西,并且让它给我返回之前一节定义的model假数据。这些事情请在mirage/config.js文件中完成:

mirage/config.js

export default function() {
  this.namespace = '/api';

  this.get('/rentals', function() {
    return {
      data: [{
        type: 'rentals',
        id: 'grand-old-mansion',
        attributes: {
          title: 'Grand Old Mansion',
          owner: 'Veruca Salt',
          city: 'San Francisco',
          propertyType: 'Estate',
          bedrooms: 15,
          image: 'https://upload.wikimedia.org/wikipedia/commons/c/cb/Crane_estate_(5).jpg'
        }
      }, {
        type: 'rentals',
        id: 'urban-living',
        attributes: {
          title: 'Urban Living',
          owner: 'Mike Teavee',
          city: 'Seattle',
          propertyType: 'Condo',
          bedrooms: 1,
          image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
        }
      }, {
        type: 'rentals',
        id: 'downtown-charm',
        attributes: {
          title: 'Downtown Charm',
          owner: 'Violet Beauregarde',
          city: 'Portland',
          propertyType: 'Apartment',
          bedrooms: 3,
          image: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Wheeldon_Apartment_Building_-_Portland_Oregon.jpg'
        }
      }]
    };
  });
}

这样配置的话,只要Mirage收到发送到”/api/rentals”的GET请求,就会返回定义的javascript json格式对象。 为了让它起作用,我们需要让我们的应用在发请求的时候默认的具有”api”名称空间(当然手动输入也是可以的)。 如果不这么设置,直接导航到”/rentals” 可能会与mirage起冲突。

为了实现目的,我们来生成一个适配器(adapter):

ember generate adapter application

这个适配器将会继承自JSONAPIAdapter这个基类,它来自于Ember Data:

app/adapters/application.js

import DS from 'ember-data';

export default DS.JSONAPIAdapter.extend({
  namespace: 'api'
});

好了,重启你的server,让应用把mirage读取进来。

请注意了,到目前为止,虽然我们是搭建了Mirage来模拟后台返回数据。但是项目中我们还没更改数据的提供方式,数据依然是从app/routes/rentals.js文件中获得的硬编码。我们将在下一章节 “使用Ember data”中,通过mirage来模拟从后台获取数据。

本节完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值