Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ES6时服务器端渲染失败_C#_Reactjs_Typescript_Reactjs.net - Fatal编程技术网

C# 使用ES6时服务器端渲染失败

C# 使用ES6时服务器端渲染失败,c#,reactjs,typescript,reactjs.net,C#,Reactjs,Typescript,Reactjs.net,我目前正在使用webpack和TypeScript玩ReactJS.NET。 我找到了一些我想尝试的代码。有一个调用Object.assign 由于TS编译器抱怨,我在tsconfig.json文件中切换到了es6 但从那时起,我在尝试在服务器端渲染组件时总是会出现以下错误: 脚本引发异常:缩小的反应错误#130 我不知道是什么导致了这个错误。它还声明使用非小型开发环境。但我也不知道该怎么做 当我使用ReactDOM.render(,document.getElementById('target

我目前正在使用
webpack
TypeScript
ReactJS.NET
。 我找到了一些我想尝试的代码。有一个调用
Object.assign

由于TS编译器抱怨,我在tsconfig.json文件中切换到了es6

但从那时起,我在尝试在服务器端渲染组件时总是会出现以下错误:

脚本引发异常:缩小的反应错误#130

我不知道是什么导致了这个错误。它还声明使用非小型开发环境。但我也不知道该怎么做

当我使用
ReactDOM.render(,document.getElementById('target'))
时,它工作正常

这是我的(简化)
commobox.tsx
文件

import * as React from "react";
import { Button, Modal, Popover } from "react-bootstrap";

interface ICommentBoxProps {}
interface ICommentBoxState {}

export class CommentBox extends React.Component<ICommentBoxProps, ICommentBoxState> {
    constructor() {
        super();
    }

    render() {return (<div>Test</div>);}
}
最后是我的
webpack.config.js

var path = require("path");

module.exports = {
    context: path.join(__dirname, 'Scripts/src'),
    entry: {
        server: "./server",
        client: "./client"
},
    output: {
        path: path.resolve(__dirname, "./Scripts/dist"),
        filename: "[name].bundle.js"
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                loader: "ts-loader",
                options: {
                    transpileOnly: true
                }
            }
        ]
    },
    resolve: {
        extensions: [".js", ".ts", ".tsx"]
    },
    externals: {
        'react': "React",
        'react-dom': "ReactDOM"
    }
};
截至评论,我现在收到以下错误消息:

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象

谷歌搜索让我想到了。因此,这似乎与出口的方式有关,但我不明白这一点

写入
export=CommentBox时
作为它在服务器端构建和呈现的最后一条语句,但给出了以下ReSharper错误:

当目标为ECMAScript 6或更高版本时,无法使用导出分配


我需要更多的信息。您可能指向了中的错误文件React@AluanHaddad添加了我认为与问题有关的文件。使用es2015而不是带有
es2015
的es6 FYISame error。对于ReactJS.NET,您可以通过在ReactConfig.cs中调用.SetUseDebugReact(true)来使用非小型开发环境。服务器端渲染的代码是什么样子的?需要更多信息。您可能指向了中的错误文件React@AluanHaddad添加了我认为与问题有关的文件。使用es2015而不是带有
es2015
的es6 FYISame error。对于ReactJS.NET,您可以通过在ReactConfig.cs中调用.SetUseDebugReact(true)来使用非小型开发环境。服务器端渲染的代码是什么样子的?
var path = require("path");

module.exports = {
    context: path.join(__dirname, 'Scripts/src'),
    entry: {
        server: "./server",
        client: "./client"
},
    output: {
        path: path.resolve(__dirname, "./Scripts/dist"),
        filename: "[name].bundle.js"
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                loader: "ts-loader",
                options: {
                    transpileOnly: true
                }
            }
        ]
    },
    resolve: {
        extensions: [".js", ".ts", ".tsx"]
    },
    externals: {
        'react': "React",
        'react-dom': "ReactDOM"
    }
};