反应+;React路由器&x2B;ASP.NET MVC/IIS是否仅在生产中显示空白页?

反应+;React路由器&x2B;ASP.NET MVC/IIS是否仅在生产中显示空白页?,asp.net,reactjs,iis,webpack,Asp.net,Reactjs,Iis,Webpack,我正在使用ASP.NETMVC4和运行在IIS上的React/React路由器设置一个简单的应用程序。在本地IIS express(VisualStudio启动的实例)上运行时,一切正常,但在生产环境下运行时,我会看到一个空白页面没有JS错误或404,捆绑包已正确加载但未执行。 我完全不明白为什么这会在VS2013启动的本地IIS中工作,但在将项目移动到现有IIS网站上作为应用程序运行时不会运行。任何和所有的帮助都将不胜感激 我在RouteConfig.js中只设置了一个catch-all路由,

我正在使用ASP.NETMVC4和运行在IIS上的React/React路由器设置一个简单的应用程序。在本地IIS express(VisualStudio启动的实例)上运行时,一切正常,但在生产环境下运行时,我会看到一个空白页面没有JS错误或404,捆绑包已正确加载但未执行。

我完全不明白为什么这会在VS2013启动的本地IIS中工作,但在将项目移动到现有IIS网站上作为应用程序运行时不会运行。任何和所有的帮助都将不胜感激

我在
RouteConfig.js
中只设置了一个catch-all路由,它使用
View()
提供
Index.cshtml

我的单个
.cshtml
文件是:

<div id="app"></div>
@Scripts.Render("~/Scripts/dist/bundle.js")
const path = require('path')

module.exports = {
    entry: path.resolve(__dirname, './src/js/App.jsx'),
    output: {
        path: path.resolve(__dirname, './dist'),
        filename: 'bundle.js'
    },
    resolve: {
        alias: {
            Components: path.resolve(__dirname, './src/js/components'),
            Pages: path.resolve(__dirname, './src/js/pages'),
            Util: path.resolve(__dirname, './src/js/util'),
            Styles: path.resolve(__dirname, './src/scss/'),
        }
    },
    module: {
        rules: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.s?css$/,
                use: [
                    {
                        loader: 'style-loader'
                    },
                    {
                        loader: 'css-loader'
                    },
                    {
                        loader: 'sass-loader'
                    }
                ]
            },
        ]
    }
};

事实证明,这不是我的配置问题,而是我的路由器问题。开发人员站点的基本URL仅为“/”,但我部署到的版本的基本URL为“/appName”。设置BrowserRouter的“basename”道具修复了这个问题

const path = require('path')

module.exports = {
    entry: path.resolve(__dirname, './src/js/App.jsx'),
    output: {
        path: path.resolve(__dirname, './dist'),
        filename: 'bundle.js'
    },
    resolve: {
        alias: {
            Components: path.resolve(__dirname, './src/js/components'),
            Pages: path.resolve(__dirname, './src/js/pages'),
            Util: path.resolve(__dirname, './src/js/util'),
            Styles: path.resolve(__dirname, './src/scss/'),
        }
    },
    module: {
        rules: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.s?css$/,
                use: [
                    {
                        loader: 'style-loader'
                    },
                    {
                        loader: 'css-loader'
                    },
                    {
                        loader: 'sass-loader'
                    }
                ]
            },
        ]
    }
};