运行 ASP.NET 虚拟目录下的样板模板
Running ASP.NET Boilerplate template under virtual directory
我有一个由 ASP.NET Boilerplate 创建的 Angular 模板。我发布成功了,在一个网站下的IIS上顺利运行ning了。但是,我的客户希望将它 运行 放在虚拟目录下,而不是自己的网站。
我更新了 appconfig.json 如下:
{
"remoteServiceBaseUrl": "http://localhost:8080/Training",
"appBaseUrl": "http://localhost:8080/Training"
}
并对appSettings.json中的App
做了同样的事情:
"App": {
"ServerRootAddress": "http://localhost:8080/Training/",
"ClientRootAddress": "http://localhost:8080/Training/",
"CorsOrigins": "http://localhost:8080/Training"
}
出于某种原因,当我 运行 应用程序时,出现以下错误,它无法加载某些 CSS 和 JavaScript 包:
我在wwwroot文件夹中手动更改了index.html,并在开头添加了http://localhost:8080/Training/
每个 href。通过这样做,所有这些错误都消失了,现在我留下了这个错误:
GET http://localhost:8080/assets/appconfig.json 404 (Not Found)
我认为与AppPreBootstrap.ts文件有关,它从appconfig.json文件中读取.
在发布应用程序之前,我是否必须在某处对应用程序设置进行任何更改才能消除上述问题?
确保appRootUrl
在AppPreBootstrap.ts中以'/'
结尾:
private static getApplicationConfig(appRootUrl: string, callback: () => void) {
appRootUrl += appRootUrl.endsWith('/') ? '' : '/'; // Add this line
return abp.ajax({
url: appRootUrl + 'assets/' + environment.appConfig,
// ...
}).done(result => {
// ...
});
}
我有一个由 ASP.NET Boilerplate 创建的 Angular 模板。我发布成功了,在一个网站下的IIS上顺利运行ning了。但是,我的客户希望将它 运行 放在虚拟目录下,而不是自己的网站。
我更新了 appconfig.json 如下:
{
"remoteServiceBaseUrl": "http://localhost:8080/Training",
"appBaseUrl": "http://localhost:8080/Training"
}
并对appSettings.json中的App
做了同样的事情:
"App": {
"ServerRootAddress": "http://localhost:8080/Training/",
"ClientRootAddress": "http://localhost:8080/Training/",
"CorsOrigins": "http://localhost:8080/Training"
}
出于某种原因,当我 运行 应用程序时,出现以下错误,它无法加载某些 CSS 和 JavaScript 包:
我在wwwroot文件夹中手动更改了index.html,并在开头添加了http://localhost:8080/Training/
每个 href。通过这样做,所有这些错误都消失了,现在我留下了这个错误:
GET http://localhost:8080/assets/appconfig.json 404 (Not Found)
我认为与AppPreBootstrap.ts文件有关,它从appconfig.json文件中读取.
在发布应用程序之前,我是否必须在某处对应用程序设置进行任何更改才能消除上述问题?
确保appRootUrl
在AppPreBootstrap.ts中以'/'
结尾:
private static getApplicationConfig(appRootUrl: string, callback: () => void) {
appRootUrl += appRootUrl.endsWith('/') ? '' : '/'; // Add this line
return abp.ajax({
url: appRootUrl + 'assets/' + environment.appConfig,
// ...
}).done(result => {
// ...
});
}