Ошибка при пересылке ReactJs.Net на стороне сервера с ES6

Я работал с приложением ReactJs.Net и MVC5 и сталкивался с проблемами, связанными с рендерингом на стороне сервера, при использовании ES6 и Babel Transpiler. Я использовал expose-loader для экспонирования компонента в глобальном масштабе. Но это работает только в синтаксисе ES5. Если я использую ES6 и Webpack для связывания, я получаю следующую ошибку в функции @Html.React().

Ошибка при отображении "Hello" в "Reaction_Hq6cd5QfaUu26XrhGgZA": Сценарий выдал исключение: Minified React error #130; посетите http://facebook.github.io/react/docs/error-decoder.html?

Код для ~Jsx/ Компоненты /Helloworld.jsx

import React, {Component} from 'react';

export default class Helloworld extends Component {
    render() {
        return (
          <div>Hello {this.props.name} ,This is my first react component.</div>
        );
          }
}

Code for ~Jsx/server.jsx

import Hello from 'expose?Hello!./components/Helloworld' ;


webpack.config.js

var path = require('path');
var webpack = require('webpack');

module.exports = 
{
    entry: ['./Jsx/server.jsx'],
    output: { path: './build', filename: 'main.js' },
    module: {
        loaders: [
          {
              test: /\.jsx$/,
              loader: ['babel-loader'],
              include: path.resolve(__dirname, 'Jsx'),
              query: {
                  presets: ['es2015', 'react']
              }
          },
        ]
       
    },
    resolve: {
        extensions: ['', '.js', '.jsx']
    }
    
    //watch:true
}


RectConfig.cs

 ReactSiteConfiguration.Configuration
               .SetLoadBabel(false)
               .AddScriptWithoutTransform("~/build/main.js");

The above code works fine if i use the below  ES5 syntax for Helloworld component

var React=require('react');

var Helloworld = React.createClass({
    render: function() {
        return (
                  <div>
                      Hello {this.props.name} ,This is my first react component.
                  </div>
      );
}
});

module.exports=Helloworld;

Пожалуйста, помогите мне, если кто-то знает решение.

0 ответов

Другие вопросы по тегам