2016-06-11 8 views
10

webpackをバンドラとして使用してモジュールをプロジェクトにnpmでリンクしようとしています。もちろん、多くのことを試した後、私はこのエラーを取得しておいてください。私が試したnpm webpackとのリンク - モジュールが見つかりません

1.) cd ../forks/react-bootstrap-table 
2.) npm link 
(success, checked ~/.nvm/.../node_modules/react-bootstrap-table for symlink and it's there) 
3.) cd ../../projRoot/ 
4.) npm link react-bootstrap-table 
(no errors thrown?, says successful link) 
5.) node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js 

ソリューション:ここ

ERROR in ./src/components/store/TableView.jsx 
Module not found: Error: Cannot resolve module 'react-bootstrap-table' 

このやったときに私が取る正確な手順です
を - https://webpack.github.io/docs/troubleshooting.html
- How to make a linked component peerDepdencies use the equivalent node_modules of the script being linked to?
- とGoogle SERPS

上の多くの紫色のリンク

webpack.config.js

const webpack = require('webpack') 
const path = require('path') 
const ROOT_PATH = path.resolve(__dirname) 

module.exports = { 
    devtool: process.env.NODE_ENV === 'production' ? '' : 'source-map', 
    entry: [ 
    'webpack/hot/only-dev-server', 
    './src/index.js' 
    ], 
    module: { 
    loaders: [{ 
     test: /\.jsx?$/, 
     exclude: /node_modules/, 
     loaders: ['react-hot','babel'] 
    }, 
    { 
     test: /\.scss$/, 
     loaders: ['style','css','sass'], 
     exclude: /node_modules/ 
    }, 
    { 
     test: /\.css$/, 
     loaders: ['style','css'] 
    }, 
    { 
     test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, 
     loader: 'file-loader' 
    } 
    ] 
    }, 
    resolve: { 
    extensions: ['', '.js', '.jsx'], 
    fallback: path.resolve(__dirname, './node_modules') 
    }, 
    resolveLoader: { 
    fallback: path.resolve(__dirname, './node_modules') 
    }, 
    output: { 
    path: process.env.NODE_ENV === 'production' ? path.resolve(ROOT_PATH, 'app/dist') : path.resolve(ROOT_PATH, 'app/build'), 
    publicPath: '/', 
    filename: 'bundle.js' 
    }, 
    devServer: { 
    contentBase: path.resolve(ROOT_PATH), 
    historyApiFallback: true, 
    hot: true, 
    inline: true, 
    progress: true, 
    stats: 'errors-only', 
    host: '192.168.1.115' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin() 
    ] 
} 

注:
1.これは私がフォークバージョン(もせずに試してみました、doesnの」内部でインストールNPM実行プロジェクトでのみシンボリックリンク
2です。 3. NVMを使用していますが、webpackを使用しないとシンボリックリンクを使用しています。

私は数日間この状態にいましたが、どんな助けでも大歓迎です。

+0

私:見られることとして、不満の人が残っています。ナッツには既存の答えが見つかりません。問題は明らかです - babel/webpackはシンボリックリンクに従っていないか、または対応していません – Tim

+0

これは私のためのショーストッパーのようなものです。アプリケーションと連携して複数のサポートライブラリを開発していますが、このワークフローをサポートするためにwebpackの代替手段を見つける必要があるようです。 – Matt

+2

楽しい事実:webpack **はnpmリンクの**動作しません。それは「よく書かれている」しかし@#$ *(見つけにくい、https://webpack.github.io/docs/troubleshooting.html#npm-linked-modules-doesn-t-find-their-dependencies)。これを頻繁に実行してnpmリンクを使用しなくなりました。フォークを持っている場合、 'require( '../../../ yourfork')'と 'many ... '/ 'あなたがフォークディレクトリに移動する必要があるか、あるいはnpmセムバの代わりにgithubリンクを使って自分のフォークを指すようにするか、(そしてこれをやり始めました)あなたのフォークを文字通りnode_modulesディレクトリにコピーします開発作業。 –

答えて

1

これは私の使用例に特有ですが、シンボリックリンクしているライブラリを完全に構築するための指示に従ってください。最初は、npmのインストールとgulpのビルドを行っていましたが、それでは十分ではありませんでした。ライブラリを完全に構築するために、いくつかのコマンドを追加する必要がありました。

これで機能します。それでも問題が解決しない場合は、シンボリックリンクしている各ライブラリのドキュメントを参照し、外部ライブラリを解決するためのテンプレートとしてwebpack configを使用してください。

0

私はwebpackと同様の問題に直面し、この私のwebpack.config.jsを追加することで終わった。ここで

module.exports = { 
    resolve: { 
     symlinks: false 
    } 
}; 

webpack docsへのリンクです。あなたの質問はwebpackとそのAPIに多く発生していたので、私の答えがまだあなたの質問にどれくらい関連しているか分かりません。しかし、これに直面している人々や今日の同様の問題については、これが解決策になる可能性があります。あまりに

関連する問題