运行react / redux应用程序所需的最小server.js?

时间:2016-02-05 12:25:42

标签: javascript node.js reactjs server webpack

我用webpack构建了我的项目,使用babel进行ES6转换,并使用以下预设:

{
  "presets": ["react", "es2015", "stage-1"]
}

webpack生产配置以下列方式查看:

var path = require('path');
var node_modules_dir = path.resolve(__dirname, 'node_modules');

module.exports = {
  entry: [ path.resolve(__dirname, 'src/index.js') ],
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      test: /\.(js|jsx)$/,
      exclude: [node_modules_dir],
      loader: 'babel'
    },
    {
      test: /\.(png|jpg)$/,
      exclude: [node_modules_dir],
      loader: 'url?limit=100000'
    },
    {
      test: /\.svg$/,
      exclude: [node_modules_dir],
      loader: 'svg-url-loader'
    },
    {
      test: /\.scss$/,
      exclude: [node_modules_dir],
      loader: 'style!css!sass'
    }]
  },
  resolve: { extensions: ['', '.js', '.jsx'] }
};

我现在想将它部署到服务器上。生产就绪文件位于dist文件夹中,因此:

dist/
  index.html
  bundle.js

我提到这一点,因为我需要我的切入点为dist/index.html

由于我以前从未部署过,我不确定我的server.js文件应该是什么样子,经过一些研究后,似乎我需要使用http服务器或快速服务器,还有一些babel transpiration以及es6语法。 / p>

可以使用的最低设置是什么?

1 个答案:

答案 0 :(得分:0)

React / redux是客户端的,即浏览器执行你的代码,服务器只需要在那里获得它。

您的服务器不需要做任何聪明的事情,比如转换,因为您的构建过程已经完成了并创建了一个' bundle'准备好在浏览器中执行。因此,快速静态服务器(例如使用Nginx,Apache或Varnish的服务器)只需要提供dist文件夹的内容。

可以使用Node,Python等等,但是你不需要它们,你只需要提供文件。