TypeError:应用程序.registerInjection不是一个函数

TypeError: Application.registerInjection is not a function

本文关键字:一个 函数 应用程序 registerInjection TypeError      更新时间:2023-09-26

我是ember.js的新手,试图理解ember,但现有的例子"用ember.js构建一个应用程序"不工作,我正面临一些TypeError,如TypeError: Application.registerInjection is not a function,我包括脚本

<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-data-latest.js"></script>

我不明白如何解决它,有人能帮助我吗?

我的app.js代码是

App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
App.Router.map(function() {
  this.resource('posts');
  this.resource('about');
});
App.PostRoute = Ember.Route.extend({
model: function() {
    return App.Post.find();
}
});
App.Post = DS.Model.extend({
title: DS.attr('string'),
author: DS.attr('string'),
intro: DS.attr('string')    
});
App.Post.FIXTURES = [{
id: 1,
title: "Ember leaning",
author: "Anand",
intro: "Write dramatically less code with Ember's Handlebars integrate templates    that update automatically when the underlying data changes."
}, {
id: 2,
title: "A framework for creating ambitious web application",
intro: "Don't waste time making trivial choices. Ember.js incorporates common idioms so you can focus on what makes your app special, not reinventing the wheel."
}];

我的index.html代码是

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
   <link rel="stylesheet" href="css/normalize.css">
   <link rel="stylesheet" href="css/bootstrap.min.css">
   <link rel="stylesheet" href="css/style.css">
</head>
<body>
 <script type="text/x-handlebars">
 <div class="navbar">
  <div class="navbar-inner">
    <a class="brand" href="#">Bloggr</a>
      <ul class="nav">
        <li>{{#linkTo 'posts'}}Posts{{/linkTo}}</li>
        <li>{{#linkTo 'about'}}About{{/linkTo}}</li>
      </ul>
  </div>
 </div>
{{outlet}}    
 </script>
 <script type="text/x-handlebars" id="posts">
 <div class="container-fluid">
  <div class="row-fluid">
    <div class="span3">
      <table class="table">
        <thead>
          <tr>
            <th>Recent Post</th>
          </tr>
        </thead>
        {{#each model}}
        <tr>
          <td>
            <a href="#">{{title}}<small class="muted"> by {{Author}}</small></a>
          </td>
        </tr>
        {{/each}}
      </table>
    </div>
    <div class="span9">
    </div>
  </div>      
 </div>
 </script>
 <script type="text/x-handlebars" id="about">
 <div class='about span12 hero-unit'>
   <p>IDEX Solution&#8217;s aims to provide solutions for Linux Platform, located in Gandhidham, Gujarat. Here at IDEX,  we provide services to small / medium businesses and home users who want to enjoy the power of Linux.
  </p>
  <p>Whilst as a company, we were formed in Jan 2004, Company&#8217;s founder is working on Linux since 1995. We use Linux in everyday of our lives on our Laptops, Desktops and Servers.
  </p>
  <p>We specialize in providing Tailor Made Software Solutions for our clients in very affordable prices. Since we use all Open Source Software, which help us to keep our prices very low, so our clients can enjoy this benefit. Visit our <a href="http://idexindia.com/products">Products</a> page for more information on our existing products, we also provide other services as well, kindly visit our <a href="http://idexindia.com/services">Services</a> page for more information.
  </p>
</div>
</script>
<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-data-latest.js"></script>
<script src="js/app.js"></script>
</body>
</html>

首先,您应该从控制台的错误消息中注意到问题在"ember-data-latest.js"中。您不需要发布所有的应用程序代码。其次,在GitHub上找到的ember-data-latest.js不是最新的ember。你可以在这里找到一个可用的ember-data版本:

http://builds.emberjs.com.s3.amazonaws.com/ember-data-latest.js