我已经使用webpack设置了一个基本的react应用程序,但是webpack-dev-server无法正常运行。

我已经全局安装了webpack-dev-server,并尝试运行sudo webpack-dev-server --hot命令,因为需要进行热重装。

仅使用webpack cmd,该项目似乎就可以正常工作。它内置在我的build文件夹中,我可以通过某些服务器使它正常工作,但不能与webpack-dev-server一起工作。从终端可以清楚地看出构建过程已经完成,没有抛出任何错误[webpack: bundle is now VALID.],并且实际上可以正确地监视它,因为在进行任何更改时,它确实会触发构建过程,但实际上并没有被构建[它没有为我的 bundle 软件服务.js]。我尝试更改整个配置,但仍然无法解决问题。

如果有人可以提供帮助,将不胜感激。

以下是我的webpack.config.js文件。

var path = require('path');

module.exports = {
    devtool: '#inline-source-map"',

    watch: true,
    colors: true,
    progress: true,

    module: {
        loaders: [{
            loader: "babel",
            include: [
                path.resolve(__dirname, "src"),
            ],
            test: /\.jsx?$/,
            query: {
                plugins: ['transform-runtime'],
                presets: ['es2015', 'react', 'stage-0'],
            }
        }, {
            loader: 'style!css!sass',
            include: path.join(__dirname, 'src'),
            test: /\.scss$/
        }]
    },

    plugins: [],
    output: {
        path: path.join(__dirname, 'build/js'),
        publicPath: '/build/',
        filename: '[name].js'
    },
    entry: {
        bundle: [
            './src/index.js'
        ]
    },

    devServer: {
        contentBase: "./",
        inline: true,
        port: 8080
    },
};

最佳答案

我自己解决了这个问题。听起来很傻,但是问题出在publicPath对象下的output。它应该与path属性匹配,而不仅仅是/build/,即,

output: {
    path: path.join(__dirname, 'build/js'),
    publicPath: '/build/js', // instead of publicPath: '/build/'
    filename: '[name].js'
},

10-05 20:55
查看更多