React不在浏览器端工作吗?

时间:2015-11-14 18:40:53

标签: reactjs webpack webpack-dev-server

我使用webpack-dev-server在内存中提供捆绑的app.js。一切都好。然后我使用webpack cli在磁盘中创建一个实际的app.js文件,并修改HTML以链接它。

但是反应在浏览器方面不起作用。每次我点击页面上的链接时,它都会向服务器发送一个新请求并获得一个新页面,就像普通网页一样。

我在浏览器方面""因为我使用了服务器渲染(使用react-router)。我可以获得页面,所以我认为服务器渲染工作意味着反应和反应路由器工作。

我比较了这两个文件。 webpack-dev-server提供的是2.8MB,磁盘中的那个只有922KB。

这是webpack-dev-server使用的配置文件:

var webpack = require('webpack');

module.exports = {
    devtool: 'inline-source-map',
    entry: [
        'webpack-dev-server/client?http://localhost:8080',
        'webpack/hot/only-dev-server',
        './src/client/entry',
    ],
    output: {
        path: __dirname + '/public/js/',
        filename: 'app.js',
        publicPath: 'http://localhost:8080/js/',
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin(),
    ],
    resolve: {
        extensions: ['', '.js']
    },
    module: {
        loaders: [{
            test: /\.jsx?$/,
            loaders: ['react-hot', 'babel-loader?experimental'],
            exclude: /node_modules/
        }]
    }
}

这是webpack cli使用的配置文件:

var webpack = require('webpack');

module.exports = {
    entry: [
        './src/client/entry',
    ],
    output: {
        path: __dirname + '/src/public/js',
        filename: 'app.js',
    },
    resolve: {
        extensions: ['', '.js']
    },
    module: {
        loaders: [{
            test: /\.jsx?$/,
            loaders: ['babel'],
            exclude: /node_modules/
        }]
    }
}

请帮忙

0 个答案:

没有答案