Angular 在本地IIS上加载区块失败

Angular 在本地IIS上加载区块失败,angular,iis,asp.net-core,webpack,angular2-routing,Angular,Iis,Asp.net Core,Webpack,Angular2 Routing,上下文:Asp.Net核心,在本地IIS上发布,网页包 所以我在上托管了我的一个网站。(本地IIS) 对于主页(仪表板),一切正常 当我尝试访问另一个组件时,我会收到一个到的请求,而不是wanvet是我的本地iis别名(文件夹) 以下是追加调用的脚本: BaseURI是: src如下所示: 以下是控制台例外: 我想解决这个问题的一个方法是在上托管站点,但我真的不喜欢 从根目录成功请求js、css: 稍后编辑:添加一个答案,修改输出公共路径。我仍然期待其他意见。下面是一个经过检验的想法 在

上下文:Asp.Net核心,在本地IIS上发布,网页包

所以我在上托管了我的一个网站。(本地IIS)

对于主页(仪表板),一切正常

当我尝试访问另一个组件时,我会收到一个到的请求,而不是wanvet是我的本地iis别名(文件夹)

以下是追加调用的脚本:

BaseURI是:

src如下所示:

以下是控制台例外:

我想解决这个问题的一个方法是在上托管站点,但我真的不喜欢

从根目录成功请求js、css:


稍后编辑:添加一个答案,修改输出公共路径。我仍然期待其他意见。

下面是一个经过检验的想法

在webpack.config中,我们可以定义一个appName变量,该变量将表示IIS中用于部署应用程序的别名(文件夹)

当我们创建publicPath属性时使用它

var isDevBuild = process.argv.indexOf('--env.prod') < 0;
var appName = 'wanvet'; // folder name in local IIS
var publicPath = isDevBuild ? '/dist/' : '/' + appName + '/dist/';

module.exports = merge({
    ........
    entry: {
        'main': './Client/main.ts'
    },
    output: {
        path: path.join(__dirname, '../wwwroot', 'dist'),
        filename: '[name].js',
        publicPath: publicPath
    },
    ........
    }, isDevBuild ? devConfig : prodConfig)
var isDevBuild=process.argv.indexOf('--env.prod')<0;
var appName='wanvet';//本地IIS中的文件夹名称
var publicPath=isDevBuild?“/dist/':'/'+appName+'/dist/';
module.exports=合并({
........
条目:{
“main”:“./Client/main.ts”
},
输出:{
path:path.join(uu dirname,'../wwwroot,''dist'),
文件名:'[name].js',
公共路径:公共路径
},
........
},isDevBuild?devConfig:prodConfig)
当然,您可以在dev/prod配置、dev
'/dist/'
和prod
'/appName/dist/'
中定义publicPath