我目前正在尝试使用某些i18n创建应用程序。 我使用ngx-translate翻译我的应用程序。
一切正常,直到我尝试编辑createTranslateLoader方法从另一个文件夹中获取我的.json文件。
目前我有这个(并且有效):
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http , './assets/i18n/', '.json');
}
但是,当我将./assets/i18n/更改为./locale/i18n/时(与资产处于同一级别并且与locale / i18n /文件夹具有相同的内容),我收到以下错误:
ERROR Object {headers:Object,status:404,statusText:" Not Found", url:" http://localhost:8910/locale/i18n/en.json",ok:false,name: " HttpErrorResponse",消息:" http://localhost:8910/locale/i18n/en.json"的Http失败响应, 错误:"
我在AOT编译,所以在我构建之后我去了看dist文件夹。在那里,我看到编译的文件夹仍然有一个'资产'包含i18n文件夹的文件夹(以及所需的json文件)。
所以现在感觉在编译为AOT时没有办法将translateLoader设置为自定义文件夹,是否有人知道如何解决这个问题?
答案 0 :(得分:1)
[解决]
在.angular-cli.json文件中有一个'assets'属性。我的理解是,您可以在AOT
中编译时添加要创建的文件夹 "assets": [
"assets",
"locale/i18n", //Added this line
"favicon.ico"
],
现在它有效。