2016-07-18 8 views
2

Windows(PC)、Android、iOSで動作するアプリケーションを構築しようとしています。webpack ou npmを使用してjavascriptのJavascriptプロジェクトを複数のパッケージに分割する

このため、私はElectron(Windows用)とReact Native(携帯用プレートフォーム用)を使用します。どちらもReactとReduxで構築されます。この方法で、Reduxの減速機とミドルウェアでロジックを実装し、両方のプロジェクトでそれらを使用することができます。

これからは、webpackを使用してElectronアプリ用のPOCを行っています。レデューサーは現在、アプリコードに直接入っています。私は、Reactネイティブプロジェクトでそれを使用できるように、別のパッケージにRedux相対コードを抽出したいと思います。

私のReduxモジュールはreducersとmiddlwaresを含んでいますが、私のアプリケーションをコンパイルすると、webpackは別のパッケージをコンパイルしません。プリコンパイルされたバージョンが使用されます。

私が望むのは、別のパッケージを作成することができますが、まだアプリケーションのコンパイル時にコンパイルすることです(デベロッパーはまだ開発中であり、開発者はメインアプリケーションの開発者と非常に密接に関係しているためです)。

これはnpmまたはwebpackでのみ行う必要がありますか?

私はJavascriptデベロッパーにとってかなり新しいです。

答えて

2

あなたはその問題を処理するさまざまな方法があると思います。

  1. NPMパッケージを使用できます。しかし、パッケージのコードでは、オリジナルのソースコードだけでなく、コンパイルされたコードも保存されます。そのパッケージを公開する前に、通常のES5コードでコンパイルする必要があります。
  2. Gitが提供するサブモジュールシステムを使用できると思います。あなたはあなたのレデューサーの共通コードと別のリポジトリを持っている必要があります。そして、各プロジェクト(Electron、RNなど)には、gitサブモジュールを含むディレクトリがあります。 Webpackは通常そのディレクトリ内のコードを問題なくコンパイルする必要があります。

UPD:あなたがここに素敵な記事を読むことができるサブモジュールについて

:いくつかの単語でhttps://git-scm.com/book/en/v2/Git-Tools-Submodules#Starting-with-Submodules

を、プロジェクトには、次のようになります:

cd yourProjectFolder 
git submodule add https://github.com/TalAter/awesome-service-workers submoduleDirectoryName 

それはあなたにリポジトリをクローンしますプロジェクトを作成し、.gitmodulesファイルを作成します。サブモジュールからのコードは現在のプロジェクトリポジトリに存在しません。リモートリポジトリにはサブモジュールへのリンクだけが含まれますが、マシン上では完全なコードが得られ、コンパイルすることができます。

+0

私は2番目のソリューションで興味深いです、リンクの例がありますか?私が見ることができないので、 –

+0

@steppfoxを達成するために、セットアップと使用が簡単な 'npm link'コマンドが見つかりました。それが私が使った解決策なので、私の編集が受け入れられるときに私はあなたの答えを受け入れます。 –

関連する問題