2017-03-22 68 views
0

我試圖運行我的WebPack配置文件(見下文),但我仍然得到某些類型的錯誤,即reffers的路徑我在的WebPack設置使用:Webpack2不能解析:config.context絕對路徑

- config.context 
- config.module.rules 
- config.output 

我的想法是,我設置了我的config.context路徑絕對(因爲它寫在docs),否則我的webpack.config文件在父目錄中受到node_modules的影響。但儘管如此,當我運行webpack -w --env.dev命令,它會引發以下錯誤:

enter image description here

在我看來,那config.context不能處理的絕對路徑,因爲它應該。任何幫助如何正確設置路徑?謝謝!

我webpack.config.js:

var path = require('path'); 
var webpack = require('webpack'); 
var ExtractText = require('extract-text-webpack-plugin'); 

    module.exports = function (env) { 
     var project = { 
     env: env.prod ? 'prod' : 'dev', 
     jsBase: './routesMap/', 
     cssBase: './src/css/' 
     } 

     var config = { 
     context: path.resolve(__dirname), 
     entry: { 
      'routesMap': project.jsBase + 'main.js' 
     }, 
     output: { 
      path: path.join(__dirname, '/dist'), 
      filename: '[name].js' 
     }, 
     plugins: [ 
      new ExtractText({ 
      filename: 'styles.min.css', 
      disable: false, 
      allChunks: true 
      }) 
     ], 
     module: { 
      rules: [ 
      { 
       test: /\.js$/, 
       loader: 'babel-loader', 
       include: path.join(__dirname, '/routesMap'), 
       exclude: /node_modules/, 
       query: { 
       cacheDirectory: true, 
       presets: ['es2015'], 
       plugins: ["transform-runtime"] 
       } 
      } 
      ] 
     } 
     }; 

     return config; 
    } 

回答

1

這與最新的WebPack版本的問題。嘗試在shell中使用大寫的驅動器號,例如C:/而不是c:/

更多信息https://github.com/webpack/webpack/issues/4530

+0

謝謝你指着我的一些方向上至少。我嘗試設置我的路徑硬編碼像config.context:'C:/用戶/ ... /桌面/.../frontend/libs/.../'但它仍然會引發同樣的錯誤 – exoslav

0

我卸載了最新的WebPack版本(我的WebPack 2.3.0),並安裝了2.2.0版本,問題解決了!正如@zemirco在他的回答中所述,它與絕對路徑中的casesensitive字母有關。不幸的是,將小寫字母改爲大寫字母對我來說並不合適,所以我只是更改了webpack版本。