2016-04-07 25 views
0

私はライブラリを構築しようとしていますが、その依存関係の1つとしてfabricjsを使いたいと思います。ファブリックがインストールされている場合、インストールするのはそれほど簡単ではありません(特定のライブラリ、特定のノードのバージョンなどが必要です)。私は自分のプロジェクトにパッケージをインストールすることができました。私はそれを成功に使用しています。自分のjavascriptライブラリに外部ライブラリをバンドルします

私が知りたいのは、特定のライブラリをnpmレジストリへのパッケージとして公開することです。

私の問題は私が自分のパッケージを公開し、誰かが私のパッケージをインストールしたいときに私は同じ複雑さを彼女/彼に「移し」ます。私のライブラリのユーザーは、fabricjsパッケージ自体をインストールしているのと同じ手順を最初に実行しなくても、インストールすることは可能ですか?

私はbundledDependenciesのプロパティを見ましたが、あまり成功しませんでした。

私は現在、NPMを使用していて、仕事をする場合、私はまたのWebPACKに精通してい..ので、多分、私の質問は根本的に間違っている自分自身に

をJavaScriptの専門家を考慮していませんよ。私は(package.jsonから)行う公開するには:

"scripts": { 
    "build": "babel ./src --out-dir ./lib", 
    ... 
+0

に含まれていますが、NPMのようなパッケージマネージャを見てなかったし、 /またはバワー、これらはあなたのためのdependencysを処理することができますか? –

+0

はい、私は質問を編集しました – tbo

+0

あなたが望んでいるとは思えません。まず自分のインストールの複雑さを減らすようにしてください。 – evolutionxbox

答えて

0

最後に、私はいくつかのWebPACKの助けを借りてそれを把握するために管理し、解決策はWebPACKので構築することで、すべてのライブラリを詳細に、一つのファイルに同梱されます:そして、あなたが構築

module.exports = { 
    entry: { 
     src: './src' 
    }, 
    output: { 
     path: path.join(__dirname, 'lib'), 
     filename: 'index.js', 
     libraryTarget: 'umd' 
    }, 
    //Use externals to exclude libraries 
    //externals: ['lodash'], 
    resolve: { 
     extensions: ['', '.js'] 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.(js|jsx)$/, 
       include: [srcPath], 
       exclude: /(node_modules|bower_components|lib)/, 
       loaders: ['babel'] 
      } 
     ] 
    } 
    ... 
} 

2):

を次のように

1)()hereを助けるWebPACKの構成(webpack.cfg.jsを言うことができます)を作成

そして、それは動作しますが、任意の外部libには(Javaの世界のために)脂肪瓶のような生産index.js、

私の2セント

関連する問題