2016-03-19 80 views
1

私は最近、Ember 1.3からEmber 2.4.2に私のアプリケーションをアップグレードしました。しかし、私の生産環境にember build --env productionでデプロイした後、私はいくつかの問題に気付きました。Ember JS:定義が定義されていません

最初の問題は、各スクリプト/スタイルシートタグにintegrity属性が添付されていて、それらのリソースをロードできなくなっていたことです。いくつかの調査の後、私はそれらの属性の値を空に置き換えることにしました。これによりアプリはリソースをダウンロードできましたが、Emberが作成したminified website.jsファイルのdefine is not definedというコンソールにエラーが表示されました。アプリが正常に動作するため、ローカルでこの問題を再現することはできません。この問題を調査するためにさらにどのような手順を取ることができますか?これは、私がインストールしたアドオンや、削除したSRI整合性属性に関連していますか?

編集:私はEmberを使ってバニラアプリを構築してデプロイしようとしました(例えばember new testApp and ember build --env production)。同じ問題が発生しました。Emberにはわからない問題がありますか? 「うまく平野のindex.htmlをレンダリングすることができメートル。

+0

こんにちは、Ember.jsのバージョン1.3から2.4に変更されたことがたくさんあります。あなたのプロジェクトについてパブリックギフト・レポを持っていますか?新しいレゾルバの詳細については、https://github.com/zoltan-nz/ember-resolver-experimentで実験したことがあります。ここでは、ember v2の使用に関する詳細なチュートリアルがあります.4とember-cli:http://yoember.com – Zoltan

+0

ラズベリーパイでホストしている小さなウェブサイトです。github.com/uioporqwerty/websiteにあります。まったく複雑ではありません。ちょうど2つのビューとコンポーネント。 – uioporqwerty

答えて

2

私はほとんどの最新のNode.js(v5.8)と最新のNPMを使用しています。 あなたはnpm install -g npmであなたのNPMを更新することができます。 The best way to install node.js

最新のember-cliを持っていると思いますが、プロジェクトの外にいる場合は更新できます:

$ cd ~ 
$ npm install -g ember-cli 

私はあなたのリポジトリをクローンしました。

$ git clone https://github.com/uioporqwerty/website.git 
$ cd website 
$ npm install && bower install 
$ ember server 

は、次のエラーを得た:ので、重要なファイルのカップルの

➜ website git:(master) ember s 
version: 2.4.2 
The Broccoli Plugin: [ConfigLoader] failed with: 
Error: Attempting to watch missing directory: config 
    at EventEmitter.Watcher_addWatchDir [as addWatchDir] (/Users/szines/projects/temp/website/node_modules/broccoli-sane-watcher/index.js:90:11) 
    at /Users/szines/projects/temp/website/node_modules/ember-cli-broccoli/lib/builder.js:95:35 
    ... 

はあなたの燃えさし-CLIプロジェクトから欠落している、私はこのプロセスの間にember init

$ ember init 

を実行します質問を参照してください。提案された変更を 'd'でチェックすることはできますが、ブートストラップとfont-awesomeを削除するだけです。これはember installで再インストールするためです。

[?] Overwrite bower.json? (Yndh) Y 

これまでのbower、npmパッケージ、tempフォルダ、distフォルダはすべて削除されました。

$ rm -rf bower_components node_modules tmp dist 
$ npm install && bower install 

ember-bootstrapember-font-awesomeをインストールします。

$ ember install ember-bootstrap 
$ ember install ember-font-awesome 

起動サーバー:

$ ember server 

アプリが魔法のように取り組んでいます。ブラウザでlocalhost:4200を開きます。

あなたが生産構築することができます:

$ ember build --prod 

を、すべてのファイルが/distフォルダになります。

やサーバとの製品版を実行します。

$ ember server --prod 

はあなたの新しいエンバーをお楽しみください! :)

+1

いい仕事がある! –

1

ゾルタンの答えは、私の問題の解決策の一部であることに非常に役立ちました。ゾルタンの答えに基づいて私の地元のウェブサイトを修正した後、私はいくつかの問題に気づいた。

まず、エンバー-CLI 2.4.2で、次のエラーが発生しました:

Could not find module ember-data/-private\system\references\record imported from ember-data/-private/system/references

この問題は、エンバー-CLI用のGitHubリポジトリのmasterブランチで解決されましたが、それはしていませんnpm repoに向かいました。だから私がしたのはnpm remove -g ember-cliでember-cliをアンインストールしてから、github repo https://github.com/ember-cli/ember-cliの開発手順に従ったものです。この問題は修正されました。

さらに、私のnginxサーバーがjsおよびcssファイルを提供していないことに気付きました。私はtest.cssとtest.jsを使ってindex.htmlを作成し、サーバがそれらのファイルをdishingしていないことに気づいた。私の気づいた問題を見つけようとするのではなく、私のRPMでnginxのバージョンが古くなっていたのは1.6.xでした。私は最初に古いバージョンを削除してからこのスクリプトを実行して1.9.7に更新しましたhttps://gist.github.com/MattWilcox/402e2e8aa2e1c132ee24。その後、私はnginx 1.9.7を持っていましたが、何とかapache2がインストールされていて、デフォルトのWebサイトを認識して頭痛を引き起こしました。

最後に、私の設定が上書きされたので、rsyncバックアップから/ etc/nginxを復元しました。私は自分のpiをそのディレクトリにコピーするだけで済みます。

その後、すべてがうまくいった。それはしばらくかかりましたが、すべてがhttps://www.uioporqwerty.comでうまくいっているように思えますし、qualsysラボレポートも正常に動作しています。

Ember-Cliが正常に動作していることを嬉しく思います。

関連する問題