2016-12-08 8 views
2

私は、それぞれの部分の依存関係を明示することができるように、複数のpackage.jsonに分割したいので、これらのパッケージを個別の部分としてエクスポートすることができます。複数のpackage.jsonsとES6 Babel

しかし、私は自分のアプリにこれらのパッケージをそれぞれ組み込み、webpackとbabelを使ってそれらをコンパイルすることを望みます。パッケージには依存関係がありますので、それぞれを/ distフォルダに出力するだけではありません。

私の理想的なディレクトリ構造は次のようになります。path.resolve('app')ようなものでのWebPACKの解決モジュールを使用

  1. \main 
        \app 
        \node_modules 
        package.json 
    \package1 
        package.json 
        node_modules 
        index.js 
    \package2 
        package.json 
        node_modules 
        index.js 
    

    は、私は複数のアプローチを試してみました。これは理論上であっても、うまくいかない。

  2. メインのpackage.jsonを使用して、"package1" : "file:../package1"を使用して他の人を参照してください。これは、package1をes6 javascriptとして扱わず、エラーをスローします。 Webpack設定でresolveLoadersを使用することは役に立ちません。

私が持っているwebpack設定は以下の通りです。

module: { 
loaders: [ 
    { 
     test: /\.js?/, 
     loader: 'babel-loader', 
     include: [ 
      path.resolve('app'), 
      path.resolve('../prose'), 
     ], 
     query: { 
      plugins: [ 
       ['react-transform', { 
        transforms: [{ 
         transform: 'react-transform-hmr', 
         // If you use React Native, pass 'react-native' instead: 
         imports: ['react'], 
         // This is important for Webpack HMR: 
         locals: ['module'] 
        }] 
       }], 
       ['transform-object-assign'] 
      ] 
     } 
    }, 
    { test: /\.css$/, loader: 'style-loader!css-loader!sass-loader' }, 
    { test: /\.svg$/, loader: 'file-loader' }, 
    { test: /\.png$/, loader: 'file-loader' }, 
    { test: /\.jpg$/, loader: 'file-loader' }, 
    { test: /\.json$/, loader: 'json-loader' } 
] 
}, 
resolve: { 
    modules: [ 
     path.resolve('app'), 
     'node_modules', 
    ], 
    extensions: ['.json', '.js', '.jsx'], 
} 

これを行う他のプロジェクトの考えや例があれば幸いです!

答えて

2

lernaをご覧ください。 1つのリポジトリで複数のpackage.jsonsパッケージを使用することもできます。それはあなたの必要条件に役立つかもしれません。

関連する問題