angular.json 파일 설명(코드 예)
이 글은 angle.json 파일에 대한 설명(코드 예제)을 제공합니다. 특정 참조 값이 있으므로 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Angular CLI 6+ 버전 이후 원래의angular-cli.json이angular.json으로 대체되었고, 내부 필드도 많이 변경되었습니다. 기본 구성이 이해되지 않으신다면, 이전 버전의 코드를 새 버전의 작업 공간에 직접 복사하면 매우 불편한 오류가 발생할 수 있습니다.
이 변경은 주로 Angular CLI가 ng new를 사용하여angular.json을 통해 구성되는 대규모 작업 공간을 생성하는 모노레포(monorepo)(하나의 공간이 여러 프로젝트를 관리함) 개발 모델을 도입했기 때문입니다. ng 생성 애플리케이션 라이브러리의 구성 요소 라이브러리 |
사실 이 모델의 장점은 여전히 매우 분명합니다. 예를 들어 회사에 여러 관리 플랫폼이나 제품이 있는 경우 이 방법을 사용하면 각 프로젝트의 환경과 각 프로젝트 간에 공유되는 구성 요소를 통합할 수 있습니다. 유지 관리를 위해 모든 프로젝트는 npm 패키지와 typescript 구성을 공유합니다.
monorepo 구조는 다음과 같습니다:
그러나 실제로 대부분의 사람들은 여전히 작업 공간은 프로젝트를 유지 관리하므로 여기서는 그다지 중요하지 않습니다. json 파일의 변경 사항은 새 스키마에 대한 것이라고 말하고 싶습니다.
Angular.json의 일부 필드
작업 공간을 새로 만들면 프로젝트와 해당 e2e가 루트 디렉터리에 생성됩니다. 기본 프로젝트. 초기 angle.json 구조는 다음과 같습니다(구성 코드 생략 부분)
{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "xxxx": { "root": "", "sourceRoot": "src", "projectType": "application", "prefix": "app", "schematics": {}, "architect": {} } }, "defaultProject": "xxxx" }
구성 속성 중 일부를 참고할 수 있도록 간단히 기록해 놓겠습니다. 나중에.
$schema
은angular.json의 모든 필드와 제약 조건을 설명하는 JSON 스키마 파일을 가리킵니다.
사실 이 기능을 지원하는 IDE나 편집기가 angle.json 파일을 작성할 때 해당 프롬프트를 제공하는 한 "유형 프롬프트" 기능이 있는 파일과 비교할 수 있습니다. ### #######버전### ## ########### ####newProjectroot#🎜🎜 ##### 🎜 🎜#새 프로젝트가 위치한 경로입니다.
ng 생성 애플리케이션 라이브러리를 사용하여 새 프로젝트를 생성하면 설정된 newProjectRoot 디렉터리에 자동으로 어셈블됩니다.
projects# 🎜 🎜#
모든 프로젝트의 구성을 배치합니다. 프로젝트 중 하나는 하위 항목입니다. 예를 들어 xxxx는 생성 시 자동으로 생성되는 프로젝트입니다.{ "projects": { "xxxx": { "root": "", "sourceRoot": "src", "projectType": "application", "prefix": "app", "schematics": {}, "architect": {} } } }
root
은 프로젝트의 위치인 프로젝트의 "루트 디렉터리" 또는 프로젝트의 상위 디렉터리를 나타냅니다. 소스 코드. 프로젝트의 루트 디렉터리에는 몇 가지 특정 구성이 포함되어 있습니다.sourceRoot
프로젝트 소스 코드가 위치한 디렉터리, 일반적으로 src 디렉터리가 기본적으로 사용됩니다.projectType
이 프로젝트가 애플리케이션인지 라이브러리인지 표시prefix # 🎜🎜#구성요소 생성 | 지시문을 사용하여 구성요소 또는 지침을 생성할 때 일반적으로 명령을 사용하여 생성하는 구성요소 또는 지침은 여기에서 수동으로 변경할 수 있습니다. 전체 프로젝트를 효과적으로 만듭니다.
schematics구성 요소, 지침, 모듈 및 기타 파일을 생성하는 CLI의 지침은 @angular-devkit/schematics를 사용하여 구현됩니다. 이러한 지침은 일반적으로 구성 요소를 생성하는 명령(ng g c --spec=false --styleext=scss)과 같은 몇 가지 바로 가기 구성과 함께 제공됩니다. 이 명령은 테스트 파일 없이 scss를 스타일 파일로 사용하여 구성 요소를 직접 생성할 수 있습니다. 매번 이러한 구성을 수동으로 입력해야 한다면 번거로울 수 있으므로, angle.json은 클래스 생성을 위한 일부 명령 구성을 균일하게 설정하기 위한 도식 속성을 제공합니다.
여기의 회로도는 단일 프로젝트에 대한 것입니다. 전체angular.json에도 이 필드가 있으며, 이는 기본적으로 모든 프로젝트에 적용됩니다.
CLI는 여러 옵션 세트를 사전 설정하며 다양한 옵션에 맞게 구성할 수 있습니다. 각도:클래스@schematics/angular:directive
@schematics/angular:guard
@schematics/angular:module# 🎜🎜#@schematics/angular:pipe
@schematics/angular:service구성요소를 통합하려면 ng c --spec=false를 사용하세요. --styleext= scss의 효과는 다음과 같이 구성할 수 있습니다:{ "schematics": { "@schematics/angular:component": { "styleext": "less", "spec": false } } }
architect
로컬 실행, 컴파일, 테스트 등과 같은 여러 CLI 관련 프로젝트 자동화 명령 구성 세트가 포함되어 있습니다. 빌드, 서브 등 여러 명령 구성 세트가 기본적으로 사전 설정되어 있습니다.{ "architect":{ "build":{}, "serve":{}, "extract-i18n":{}, "test":{}, "lint":{} } }
구성 속성
각 구성 항목에는 3 필드 속성: 빌더, 옵션, 구성(예: 기본 빌드 명령 구성):{ "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "outputPath": "dist/testApp", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.app.json", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ "src/styles.css" ], "scripts": [] }, "configurations": { "production": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ], "optimization": true, "outputHashing": "all", "sourceMap": false, "extractCss": true, "namedChunks": false, "aot": true, "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true } } } } }
builder代表要执行的内置程序,因为CLI内置了一些自动化工具,architect只是提供了一个facade模式(通俗地讲,就是开发者不需要知道内部的复杂实现)给开发者配置使用,本质上还是调用的内置工具。
options代表针对当前builder要配置的配置项,调用不同的内置程序,是需要传对应的配置项的,由于配置项很多,这里也不会列出。
configurations代表这个命令的多种调用模式,在此配置里,我们可以定义不同的别名,然后使用不同的配置(配置的字段还是属于options里的),最后在使用命令时便可以手动选择不同的模式。
如何使用
CLI其实内置了几个快捷命令来对应默认生成的配置如ng serve、ng build等等,如果是我们额外自定义的配置,则可以使用ng run
命令来实现,其中project和architect为必填,configurations为选填。
比如我们简单额外自定义一个本地运行的服务器命令:
{ "architect":{ "myServe":{ "builder": "@angular-devkit/build-angular:dev-server", "options": { "browserTarget": "xxxx:build", "port": 8800 }, "configurations": { "port1": { "port": 8801 }, "port2": { "port": 880 } } } } }
配置使用了内置的运行本地服务器程序,然后使用默认的build配置,加上自定义的运行端口,另外加上两个不同模式,运行不同端口。
使用ng run xxxx:myServe可以正常运行本地服务器跑项目,端口是8800
使用ng run xxxx:myServe:port1端口是8801
当然,我们还可以直接使用额外的命令行配置直接覆盖已经定义的配置:
ng run xxxx:myServe:port1 --port=8808
这里的例子只是为了简单了解下architect的用法。
defaultProject
默认项目,当使用一些CLI命令没有指定项目名称时,默认指向的项目。
schema.json
其实我只是为了记录自己有点印象的属性,整个angular.json还有很多其他的字段,如果想要全面了解,我们可以直接打开$schema所指向的文件,里面详细地展示了各种字段的类型、配置以及描述说明。
위 내용은 angular.json 파일 설명(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP와 Vue: 프론트엔드 개발 도구의 완벽한 조합 오늘날 인터넷이 빠르게 발전하는 시대에 프론트엔드 개발은 점점 더 중요해지고 있습니다. 사용자가 웹 사이트 및 애플리케이션 경험에 대한 요구 사항이 점점 더 높아짐에 따라 프런트 엔드 개발자는 보다 효율적이고 유연한 도구를 사용하여 반응형 및 대화형 인터페이스를 만들어야 합니다. 프론트엔드 개발 분야의 두 가지 중요한 기술인 PHP와 Vue.js는 함께 사용하면 완벽한 도구라고 볼 수 있습니다. 이 기사에서는 독자가 이 두 가지를 더 잘 이해하고 적용할 수 있도록 PHP와 Vue의 조합과 자세한 코드 예제를 살펴보겠습니다.

Redis 및 TypeScript를 사용하여 고성능 컴퓨팅 기능을 개발하는 방법 개요: Redis는 고성능과 확장성을 갖춘 오픈 소스 인메모리 데이터 구조 스토리지 시스템입니다. TypeScript는 유형 시스템과 더 나은 개발 도구 지원을 제공하는 JavaScript의 상위 집합입니다. Redis와 TypeScript를 결합하면 대규모 데이터 세트를 처리하고 Redis의 메모리 저장 및 컴퓨팅 기능을 최대한 활용할 수 있는 효율적인 컴퓨팅 기능을 개발할 수 있습니다. 이 기사에서는 다음 방법을 보여줍니다.

프론트엔드 개발 인터뷰에서 일반적인 질문은 HTML/CSS 기초, JavaScript 기초, 프레임워크 및 라이브러리, 프로젝트 경험, 알고리즘 및 데이터 구조, 성능 최적화, 크로스 도메인 요청, 프론트엔드 엔지니어링, 디자인 패턴, 새로운 기술 및 트렌드. 면접관 질문은 후보자의 기술적 능력, 프로젝트 경험, 업계 동향에 대한 이해를 평가하기 위해 고안되었습니다. 따라서 지원자는 자신의 능력과 전문성을 입증할 수 있도록 해당 분야에 대한 충분한 준비를 갖추어야 합니다.

Django는 빠른 개발과 깔끔한 방법을 강조하는 Python으로 작성된 웹 애플리케이션 프레임워크입니다. Django는 웹 프레임워크이지만 Django가 프런트엔드인지 백엔드인지에 대한 질문에 답하려면 프런트엔드와 백엔드의 개념에 대한 깊은 이해가 필요합니다. 프론트엔드는 사용자가 직접 상호작용하는 인터페이스를 의미하고, 백엔드는 HTTP 프로토콜을 통해 데이터와 상호작용하는 서버측 프로그램을 의미합니다. 프론트엔드와 백엔드가 분리되면 프론트엔드와 백엔드 프로그램을 독립적으로 개발하여 각각 비즈니스 로직과 인터랙티브 효과, 데이터 교환을 구현할 수 있습니다.

C# 개발자로서 우리의 개발 작업에는 일반적으로 프런트엔드와 백엔드 개발이 포함됩니다. 기술이 발전하고 프로젝트의 복잡성이 증가함에 따라 프런트엔드와 백엔드의 공동 개발이 점점 더 중요해지고 복잡해졌습니다. 이 문서에서는 C# 개발자가 개발 작업을 보다 효율적으로 완료하는 데 도움이 되는 몇 가지 프런트 엔드 및 백엔드 공동 개발 기술을 공유합니다. 인터페이스 사양을 결정한 후 프런트엔드와 백엔드의 공동 개발은 API 인터페이스의 상호 작용과 분리될 수 없습니다. 프론트엔드와 백엔드 협업 개발이 원활하게 진행되기 위해서는 가장 중요한 것은 좋은 인터페이스 사양을 정의하는 것입니다. 인터페이스 사양에는 인터페이스 이름이 포함됩니다.

빠르고 효율적인 프로그래밍 언어인 Go 언어는 백엔드 개발 분야에서 널리 사용됩니다. 그러나 Go 언어를 프런트엔드 개발과 연관시키는 사람은 거의 없습니다. 실제로 프런트엔드 개발에 Go 언어를 사용하면 효율성이 향상될 뿐만 아니라 개발자에게 새로운 지평을 열어줄 수도 있습니다. 이 기사에서는 프런트엔드 개발에 Go 언어를 사용할 수 있는 가능성을 살펴보고 독자가 이 영역을 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다. 전통적인 프런트엔드 개발에서는 사용자 인터페이스를 구축하기 위해 JavaScript, HTML, CSS를 사용하는 경우가 많습니다.

인스턴트 메시징을 구현하는 방법에는 WebSocket, Long Polling, Server-Sent Events, WebRTC 등이 있습니다. 자세한 소개: 1. 실시간 양방향 통신을 달성하기 위해 클라이언트와 서버 사이에 지속적인 연결을 설정할 수 있는 WebSocket 프런트 엔드는 WebSocket API를 사용하여 WebSocket 연결을 생성하고 송수신을 통해 인스턴트 메시징을 달성할 수 있습니다. 2. 실시간 통신 등을 시뮬레이션하는 기술인 Long Polling

Golang과 프런트엔드 기술의 결합: Golang이 프런트엔드 분야에서 어떤 역할을 하는지 살펴보려면 구체적인 코드 예제가 필요합니다. 인터넷과 모바일 애플리케이션의 급속한 발전으로 인해 프런트엔드 기술이 점점 더 중요해지고 있습니다. 이 분야에서는 강력한 백엔드 프로그래밍 언어인 Golang도 중요한 역할을 할 수 있습니다. 이 기사에서는 Golang이 프런트엔드 기술과 어떻게 결합되는지 살펴보고 특정 코드 예제를 통해 프런트엔드 분야에서의 잠재력을 보여줍니다. 프론트엔드 분야에서 Golang의 역할은 효율적이고 간결하며 배우기 쉬운 것입니다.
