/** * Created by joesbell on 2016/12/16. */ var webpack=require("webpack"); var path = require('path'); // 将相对路径转化为绝对路径 var appPath=path.resolve(__dirname, './app/main.js'); var buildPath= path.resolve(__dirname, './build'); module.exports = { entry:[ appPath ], output: { publicPath: "http://127.0.0.1:9090/build/",//publicPath设置为webpack-dev-server服务器下资源目录的绝对路径 path:buildPath, filename: 'bundle.js', }, module: { // 将jsx语法文件转为js语法,es6转成es5 loaders: [ { test: /.jsx?$/, include: [ // 只去解析运行目录下的 src 和 demo 文件夹 // 将几个参数拼接成完成的路径 path.join(__dirname, './app'), ], loaders: ['babel-loader?presets[]=es2015,presets[]=react'] }, // { // test: /.jsx?$/, // exclude: /node_modules/, // // 在这里添加 react-hot,注意这里使用的是loaders,所以不能用 query,应该把presets参数写在 babel 的后面 // loaders: ['react-hot', 'babel?presets[]=react,presets[]=es2015'] // } ] }, // 资源服务器,实现热加载 devServer:{ historyApiFallback:true, hot:true, inline:true, progress:true, port:9090 //端口你可以自定义 } // module: { // loaders: [{ // test: /.jsx?$/, // exclude: /node_modules/, // loader: 'babel-loader', // }] // }, // // 添加插件 // plugins: [ // new webpack.HotModuleReplacementPlugin() // ], // // 将es6代码转化为es5 // babel: { // presets: ['es2015'] // }, };
*********************************************
上述代码配置好后,还需要到项目的package.json 文件下, 添加服务器配置
"scripts": {"build": "webpack", "start": "webpack-dev-server --hot --inline", },
然后直接命令行启动 npm run start 启动, 浏览器输入localhost:9090 即可