2016-05-01 43 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'] 
    } 
}