angular-i18next 项目教程
1. 项目的目录结构及介绍
angular-i18next/
├── src/
│ ├── app/
│ │ ├── components/
│ │ ├── services/
│ │ ├── directives/
│ │ ├── pipes/
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ ├── assets/
│ │ ├── i18n/
│ │ ├── en.json
│ │ ├── zh.json
│ ├── environments/
│ │ ├── environment.ts
│ │ ├── environment.prod.ts
│ ├── index.html
│ ├── main.ts
│ ├── styles.css
├── angular.json
├── package.json
├── tsconfig.json
├── README.md
目录结构介绍
src/
:项目的源代码目录。app/
:包含应用的主要组件、服务、指令和管道。components/
:存放应用的各个组件。services/
:存放应用的服务。directives/
:存放应用的自定义指令。pipes/
:存放应用的自定义管道。app.component.ts
:应用的根组件。app.module.ts
:应用的根模块。
assets/
:存放静态资源,如图片和国际化文件。i18n/
:存放国际化文件,如en.json
和zh.json
。
environments/
:存放不同环境下的配置文件。environment.ts
:开发环境配置。environment.prod.ts
:生产环境配置。
index.html
:应用的入口 HTML 文件。main.ts
:应用的入口 TypeScript 文件。styles.css
:全局样式文件。
angular.json
:Angular 项目的配置文件。package.json
:项目的依赖和脚本配置文件。tsconfig.json
:TypeScript 编译配置文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
main.ts
main.ts
是 Angular 应用的入口文件,负责启动应用。
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
功能介绍
- 导入
enableProdMode
和platformBrowserDynamic
模块。 - 导入
AppModule
和environment
配置。 - 如果是生产环境,启用生产模式。
- 使用
platformBrowserDynamic
启动AppModule
。
3. 项目的配置文件介绍
angular.json
angular.json
是 Angular 项目的配置文件,包含了项目的构建、开发服务器、测试等配置。
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular-i18next": {
"projectType": "application",
"schematics": {},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/angular-i18next",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [