反应+;React路由器&x2B;ASP.NET MVC/IIS是否仅在生产中显示空白页?
我正在使用ASP.NETMVC4和运行在IIS上的React/React路由器设置一个简单的应用程序。在本地IIS express(VisualStudio启动的实例)上运行时,一切正常,但在生产环境下运行时,我会看到一个空白页面没有JS错误或404,捆绑包已正确加载但未执行。 我完全不明白为什么这会在VS2013启动的本地IIS中工作,但在将项目移动到现有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路由,
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'
}
]
},
]
}
};