1

次のチュートリアル ページまで、このページ ( https://guides.emberjs.com/v2.7.0/tutorial/installing-addons/ ) のチュートリアルに従っています。(実際には、チュートリアルが完了するまでフォローします。)

すべてがうまく機能しているようです。✔<br> Ember サーバーは正常に機能し、ブラウザに正しく表示されます。✔<br> Ember 開発ビルドも正しく表示されます。✔</p>

しかし、Ember プロダクション ビルドでは/rentals 404 エラーが発生します。✖<br>本番ビルドでこの 404 エラーを修正するには?

ここに私のミラージュ/config.jsがあります

export default function() {

  // These comments are here to help you get started. Feel free to delete them.

  /*
    Config (with defaults).

    Note: these only affect routes defined *after* them!
  */

  // this.urlPrefix = '';    // make this `http://localhost:8080`, for example, if your API is on a different server
  // this.namespace = '';    // make this `api`, for example, if your API is namespaced
  // this.timing = 400;      // delay for each request, automatically set to 0 during testing

  /*
    Shorthand cheatsheet:

    this.get('/posts');
    this.post('/posts');
    this.get('/posts/:id');
    this.put('/posts/:id'); // or this.patch
    this.del('/posts/:id');

    http://www.ember-cli-mirage.com/docs/v0.2.x/shorthands/
  */

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

    if(request.queryParams.city !== undefined) {
      let filteredRentals = rentals.filter(function(i) {
        return i.attributes.city.toLowerCase().indexOf(request.queryParams.city.toLowerCase()) !== -1;
      });
      return { data: filteredRentals };
    } else {
      return { data: rentals };
    }
  });

}

URL プレフィックスと名前空間は何も変更されませんが、それでも /rentals 404 エラーが発生します。

GET http://localhost/ rentals 404 Not Found
"NetworkError: 404 Not Found - http://localhost/ rentals "
ルートの処理中にエラーが発生しました: index Ember Data Request GET /rentals が 404 を返しました

4

2 に答える 2

4

ember-cli-mirage は本番ビルドでは無効になっているため、構成で明示的に有効にする必要があります。

if (environment === 'production') {
  ENV['ember-cli-mirage'] = {
    enabled: true
  };
}

ミラージュのドキュメント

于 2016-09-02T10:34:24.010 に答える