2017-06-02 9 views
2

私のチームはphoenix/elmアプリケーションを開発中で、2つのプロジェクトを別々のreposに保ち、phoenixのelmアプリケーションを「ポイント」することに決めましたアプリ。これは私のための新しい地形のようなものです。私はこれを達成するためにさまざまな方法を検討してきました。私はpackage.json経由でElmアプリケーションを依存関係としてインポートしようとしましたが、node_modules /がElmコードを認識しないと思います。私もmix.exs経由でそれを依存関係としてインポートしようとしましたが、再びdeps/exsファイルを探しています。これに他のアプローチはありますか?githubからフェニックスのバックエンドにElmフロントエンドをインポート

答えて

2

gitを使用している場合は、git submodulesを使用します。既存のリポジトリに別のリポジトリを埋め込むことができます。

本質的にPhoenixアプリケーションを通常の状態にして、Elmアプリケーションをサブモジュールとして組み込み、brunch-config.jselm-brunchプラグインを使用してElmアプリケーションを参照してください。

elmBrunch: { 
    mainModules: ['../path/to/submodule/Main.elm'], 
    outputFolder: 'web/static/js/', 
    makeParameters: ['--debug'] 
} 
1

フェニックスには、資産管理者としてBrunchが付属しています。私はBrunchを使ってElmコードをJSパッケージにコンパイルすることに成功しました。そのJSをPhoenix HTMLテンプレートにインポートし、standard methodを使用してElmアプリケーションを配置することができます。

私は最近blog post on putting the pieces togetherと書いています。この投稿には、github repoへのポインタが含まれています。私は、これがあなたが取り組んでいる問題に役立つことを願っています。

私のアプローチとの主な違いは、同じレポにエルムとフェニックスのコードがあることですが、フェニックスのレポからエルメのレポまでの一貫した相対的なパスを定義できる限り、 。

+0

ありがとうございます!私は、ブランチを持つphoenixアプリケーションにelmアプリケーションを埋め込む方法を理解していますが、問題はそれらを別のreposに分ける方法です。 「フェニックス・レポからエルメ・レポまでの一貫した相対的な経路を定義する」という意味を説明できますか? –

+0

ブランチ設定では、次のような宣言を使用してElmリポジトリへのパスを指定する必要があります。 elmFolder: 'elm'、 おそらくelmとphoenix reposを同じ親ディレクトリに複製できます相対パスを使用して、Phoenixレポからのelm repoを指します。多分: elmFolder: '../ ' 私は実際にこれをまだ試していません。私はこれを簡単にするために私の2つのプロジェクトを結びつけました。しかし、私はそれらを分けたいという願いを完全に理解しています。 –

関連する問題