2016-05-01 42 views
0

我是新來的webpack,並試圖設置我的客戶端項目。我已經創建了一個超過here的回購,它有我的整個源代碼。webpack是不是找到我的進口或轉換我的es6代碼

我的WebPack的配置是這樣的:

var path = require('path'); 
module.exports = { 
    entry: './public/js/main.js', 
    output: { 
     path: __dirname, 
     filename: './public/dist/bundle.js' 
    }, 
    module: { 
     loaders: [{ 
      test: /\.js$/, 
      loader: "babel-loader", 
      include: [ 
       path.resolve(__dirname, "./public/js"), 
      ], 
      exclude: [ 
       path.resolve(__dirname, "node_modules"), 
      ] 
     }], 
     resolve: { 
      extensions: ['', '.js', '.jsx'] 
     } 
    } 
}; 

當我運行:

webpack 

其捆綁我的js,並把它dist文件夾。但是,我可以看到捆綁文件沒有Point.jsloadash,可以在我的main.jsimports上找到。而且看起來結果的捆綁代碼不會轉換爲es6,而只是包含我的main.js文件的全部內容。

我在哪裏犯錯?在你的包JSON

回答

3

形成如下改動:

"devDependencies": { 
    "babel": "^6.5.2", 
    "babel-core": "^6.7.7", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.6.0", 
    "webpack": "^1.13.0" 
} 

和webpack.config.js:

var path = require('path'); 
module.exports = { 
entry: './public/js/main.js', 
output: { 
    path: __dirname, 
    filename: './public/dist/bundle.js' 
}, 
module: { 
    loaders: [{ 
     test: /\.js$/, 
     loaders: ['babel?presets[]=es2015'], 
     include: [ 
      path.resolve(__dirname, "./public/js"), 
     ], 
     exclude: [ 
      path.resolve(__dirname, "node_modules"), 
     ] 
    }], 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    } 
} 
}; 

運行NPM安裝和的WebPack。它應該工作正常。

+0

謝謝。但它沒有從'node_modules'找到模塊。任何原因? –

+0

如果您使用「導入」,它肯定應該從node_modules中找到模塊。 –

+0

不幸的是,它現在沒有做。 –

0

要完成XtremeCoder的答案,在這裏我需要的東西添加到webpack.config.js,使其工作:

module: { 
    loaders: [{ 
     test: /\.js$/, 
     loader: "babel-loader", 
     include: [ 
      path.resolve(__dirname, "./public/js"), 
     ], 
     exclude: [ 
      path.resolve(__dirname, "node_modules"), 
     ], 
     query: { 
      presets: ['es2015'] 
     } 
    }], 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    } 
}