2017-10-07 8 views
0

私は自分のコンポーネントを書いているテストアングルプロジェクト(project1)を持っています。私はコンポーネントからコンポーネント(組織と美的目的)に移動するために、このプロジェクトでルーティングを使用する必要があります。別のプロジェクトへの依存としてフォルダを作成した後に、angular2でルーティングを削除するにはどうすればいいですか?

私は、project2のnode_モジュールにproject2というproject-project1(package.jsonから参照できるようになりました)を持っている別の角度プロジェクト(project2)を持っています。

問題

私はProject1のへのProject2(のProject2にルーティングする簡単な角度forRoot)からコンポーネントを取得する必要がある場合は、問題は私のProject1のに今あるforRootの競合で表示され、 project2

project2からnode_modules内のproject1からルーティングを削除すると問題が消えますが、それは時間がかかります。

私の依存関係(project1)内のルートを削除したり、project2を動作させるためにコードをコメントアウトする以外に、この問題を解決する方法はありますか?

+0

In node_moduleのプロジェクト1のコピーでforRootをforChildで置き換えることはできますか? – Wandrille

+0

そして、あなたのproject_1を遅延ロードのルートでどこに呼びますか?プロジェクト2でどのように使用するかのコードを教えてもらえますか – Wandrille

+0

私はこのプロジェクトを2つの方法で、別々に、そして一緒に実行するので、forChildを呼び出すことはできません。私はちょうどルートを必要とし、子供はいません。 Project1はnpmのインストール後にproject2のノードモジュールにあります –

答えて

1

ソリューション1

project1に内部forRoot()メソッドのための条件文を追加します。だから、毎回あなたはそれがforRootを(行いますスタンドアロンアプリとしてそれを構築している )NPMの依存として構築 - forChild()

// this is how you're getting the environment 
import { environment } from './environment'; 

ソリューション2

はなく、独立したとして、そのCLIは一つとして、すべてのモジュールをバンドルしませんproject1に内の遅延ロードを追加します。そのインポートまたはレイジーロードproject1にモジュールの後node_modulesからそれを参照し、のProject2内側(ないルート、それはまだforRoot()を持っています)。

Beware of this issue if doing lazy-loading from node_modules.

あなたはより多くの助けが必要な場合は、いくつかのコードを追加してください。

+0

私はそれを見ています、tnx。 –

関連する問題