我正在使用this,我在组件中有这个代码
import { Component } from '@angular/core';
import {LocalizeRouterService} from 'localize-router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
constructor(private localize: LocalizeRouterService) {}
changeLanguage(lang: string) {
this.localize.changeLanguage(lang);
}
}
和html
<button (click)="changeLanguage('en')">EN</button>
<button (click)="changeLanguage('de')">DE</button>
这在localhost中运行良好,但是一旦我使用ng build --prod
发布它并在IIS中托管它就会记录此错误:
意外的令牌&lt;在位置0的JSON中
怎么了?
答案 0 :(得分:1)
该应用正在尝试从本地化路由器加载(James,Miles,james@abcd.com,9876543210,email),
(John,Paul,john@abcd.com,9638527410,phone),
(Math,willams,Math@abcd.com,99873210456,phone)
配置文件。我猜你忘了把它添加到JSON
里面的资产数组中。由于您的网络服务器设置为使用angular-cli.json
文件提供任何404请求,因此应用程序尝试将index.html
文件解析为json,这将导致典型错误:
意外的令牌&lt;在位置0的JSON中
令牌html
是<
代码的开头。
简而言之,请修改<!DOCTYPE html>
:
angular-cli.json
也可能是您忘记将字典{
...
"apps": [
{
...
"assets": [
...,
"path/to/localize-router/config.json"
],
}
]
}
文件添加到资源文件夹中。但就此而言,同样的配方适用于上述