Я настраиваю простое приложение, используя ASP .NET MVC 4 и React / React Router, работающие на IIS.Все работает нормально при работе на моем локальном IIS Express (экземпляр, который запускается Visual Studio), но при попытке запустить на производстве я получаю пустую страницу. Нет ошибок JS или 404, пакет загружается правильно, но не выполняется.
Я совершенно не понимаю, почему это работает в локальном IIS, запущенном VS2013, но не работает, когдаперемещение проекта для запуска в качестве приложения на существующий веб-сайт IIS.Буду признателен за любую помощь.
У меня есть только один универсальный маршрут, настроенный в RouteConfig.js
, который обслуживает Index.cshtml
с использованием View()
:
routes.MapRoute(
name: "Default",
url: "{*url}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Мой сингл .cshtml
файл:
<div id="app"></div>
@Scripts.Render("~/Scripts/dist/bundle.js")
И мой webpack.config.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'
}
]
},
]
}
};