2016-07-06 94 views
4

我一直在嘗試一個新項目,並希望使用webpack和模塊來分割代碼。我已經安裝NPM之後安裝的WebPack如下 npm install -g webpackWebpack無法解析全球安裝的babel或babel-loader

npm install -g babel-cli babel-core babel-loader babel-presets-es2015

現在,在項目中,我創建了一個包含以下內容的新config.js文件。

module.exports = { 
    entry: './src/js/app.js', 
    output: { 
     filename: 'dist/js/bundle.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.js$/, 
       loader: 'babel-loader' 
      } 
     ] 
    }, 

} 

不過,我總是得到一個錯誤說 ERROR in Entry module not found: Error: Cannot resolve module 'babel-loader'

換句話說,如何使的WebPack解決全球範圍內安裝的軟件包?

+0

'npm我babel-loader --save-dev'? –

+0

@releaseanp這樣做會在本地創建node_modules並再次安裝該軟件包。 但是,這些軟件包已經全局安裝。我如何使用它? – Andrews

+0

什麼是您通過加載器傳遞的文件的擴展名。除JS之外的任何東西(也許JSX)? –

回答

2

終於搞定了。不知道這是否正確。但是, 這是我的項目安裝和工作方式。我想應該有更好的方式來設置模塊裝載機的預置。

my-project 
    src 
    js 
     entry.js 
     module1.js 
     module2.js 
    dist 
    index.html 
    js 
     bundle.js 

現在,我目前的config.js設置如下所示。

module.exports = { 

    resolve: { 
     fallback: '/usr/local/lib/node_modules' 
    }, 
    resolveLoader: { 
     fallback: '/usr/local/lib/node_modules' 
    }, 
    entry: './src/js/app.js', 
    output: { 
     filename: 'dist/js/bundle.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.js$/, 
       loader: 'babel-loader', 
       query: { 
        presets: ['/usr/local/lib/node_modules/babel-preset-es2015'] 
       } 
      } 
     ] 
    }, 

} 
+0

我試圖使用這個解決方案,但'fallback產生一個錯誤,說它是對象上的一個未知屬性。 – Mel