2016-06-11 29 views
10

Web modülünü kullanarak bir modülü modülüne bağlamak için npm denemeyi deniyorum. İşte npm webpack ile bağlantı - modülünü bulamıyor

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

Bunu yaparken Attığım kesin adımlar şunlardır: denedim

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 

Çözümler: Tabii ki, birçok şeyi denedikten sonra, bu hatayı almaya devam
- 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?
- Ve google birçok mor bağlantılar

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() 
    ] 
} 

Notlar:
1. Bu
2. içimde çatallı sürümünü yüklemek npm çalıştırın (ayrıca olmadan çalıştı projede sadece sembolik bağdır, doesn' t iş)
3. NVM kullanıyorum, ancak önce web paketi olmadan başarılı bir şekilde symlink kullanmıştım.

Şu an birkaç gündür çalışıyorum, herhangi bir yardım çok takdir edilecektir.

+0

Me: görüleceği üzere, hakkında şikayet insanlar hala var. Fındık bulunacak mevcut bir cevap yoktur. Sorun açıktır - babel/webpack takip etmez ya da symlinks uymuyor – Tim

+0

Bu benim için bir gösteri stoper türüdür. Uygulamalarım için uygulamalarımın yanı sıra birden çok destekleyici kitaplık geliştiriyorum ve bu iş akışını desteklemek için web paketine bir alternatif bulmam gerekiyor gibi görünüyor. – Matt

+2

fun fact: webpack ** çalışmıyor npm bağlantısı ile **. Bu "iyi belgelenmiş" ama @ # $ * (bulmak zor. Https://webpack.github.io/docs/troubleshooting.html#npm-linked-modules-doesn-t-find-their-dependencies. bu sıklıkta npm bağlantısını tamamen kullanmayı bıraktık: eğer bir çatalınız varsa, ya gerek 'i (' ../../../ yourfork ') 'dan çok fazla' 'ile işaretleyin./ 'çatal dirseğe ihtiyacınız olduğu gibi, ya da alternatif olarak, npm semer yerine bir github bağlantısıyla kendi çatalınıza işaret edin ya da (ve bunu yapmaya başladık) sadece tam olarak çatalınızı node_modules dir dev iş. –

cevap

1

Tamam çocuklar, bu benim kullanım durumum için özeldir, ama sizin yerinize bağlandığınız kitaplığı tamamen oluşturmak için tüm talimatları uyguladığınızdan emin olun. Başlangıçta, bir npm yükleme ve gulp yapı, ama bu yeterli değildi. Kütüphaneyi tamamen inşa etmek için birkaç ekstra komut çalıştırmak zorunda kaldım.

Şimdi çalışıyor! Sorun yaşamaya devam ediyorsanız, her bir kütüphane için bağ kurduğunuz belgelere gidin ve webpack yapılandırmamı harici kitaplıkları çözümlemek için şablon olarak kullanın.

0

Ben webpack benzer bir sorunla karşı karşıya ve bu ekleyerek sona erdi edildi benim webpack.config.js: Burada

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

webpack docs için bağlantıdır. Sorunuz olduğundan, webpack ve onların API'sı çok fazla oldu, bu yüzden cevabımın hala sizin sorunuza ne kadar uygun olduğunu bilmiyorum. Ama bugün ya da benzer bir sorunla yüz yüze kalan insanlar için bu bir çözüm olabilir. Çok