首页
/ Scully 开源项目教程

Scully 开源项目教程

2024-09-08 00:38:41作者:咎岭娴Homer

1. 项目目录结构及介绍

Scully 项目的目录结构如下:

scully/
├── e2e/
├── docs/
├── src/
│   ├── app/
│   ├── assets/
│   ├── environments/
│   ├── favicon.ico
│   ├── index.html
│   ├── main.ts
│   ├── polyfills.ts
│   ├── styles.css
│   └── test.ts
├── .editorconfig
├── .gitignore
├── angular.json
├── package.json
├── README.md
├── tsconfig.json
└── tslint.json

目录结构介绍:

  • e2e/: 端到端测试文件目录。
  • docs/: 项目文档目录。
  • src/: 源代码目录,包含应用程序的主要代码。
    • app/: 应用程序的主要代码文件。
    • assets/: 静态资源文件,如图片、字体等。
    • environments/: 环境配置文件。
    • favicon.ico: 网站图标文件。
    • index.html: 应用程序的主HTML文件。
    • main.ts: 应用程序的入口文件。
    • polyfills.ts: 用于兼容旧版浏览器的填充代码。
    • styles.css: 全局样式文件。
    • test.ts: 测试配置文件。
  • .editorconfig: 编辑器配置文件。
  • .gitignore: Git忽略文件配置。
  • angular.json: Angular项目的配置文件。
  • package.json: 项目的依赖和脚本配置文件。
  • README.md: 项目说明文件。
  • tsconfig.json: TypeScript配置文件。
  • tslint.json: TSLint配置文件。

2. 项目启动文件介绍

main.ts

main.ts 是 Scully 项目的启动文件,负责引导 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(): 使用动态浏览器平台引导 Angular 应用程序。
  • bootstrapModule(AppModule): 引导 AppModule 模块,启动应用程序。

3. 项目配置文件介绍

angular.json

angular.json 是 Angular 项目的配置文件,包含了项目的构建、测试、部署等配置。以下是部分配置示例:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "scully": {
      "projectType": "application",
      "schematics": {},
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/scully",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "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,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "scully:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "scully:build:production"
            }
          }
        }
      }
    }
  }
}

配置文件功能介绍:

  • build: 定义项目的构建配置,包括输出路径、入口文件、资源文件等。
  • serve: 定义开发服务器的配置,用于本地开发和调试。
  • configurations: 定义不同环境的配置,如生产环境和开发环境。

通过以上配置,可以灵活地控制项目的构建和运行方式。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
375
3.25 K
flutter_flutterflutter_flutter
暂无简介
Dart
619
140
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
62
19
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
479
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
647
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.09 K
619
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
790
76