angular项目中各个文件的作用

Angular 入门教程系列:44:Karma使用介绍 在前一篇文章中介绍了Jasmine框架在Angular中的使用,而无法避开的另外一个部分就是Karma,这篇文章将继续通过demo应用来介绍Karma在Angular中的运用。 阅读详情

对angular项目中的一些文件的概述

angular-cli.json

Angular CLI 的配置文件。 在这个文件中,你可以设置一系列默认值,还可以配置项目编译时要包含的那些文件。

karma.conf.js

karma 测试运行器的配置。

protractor.config.js

protractor 端对端 (e2e) 测试器运行器的配置。

package-lock.json

package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。

package.json

为项目指定 npm 依赖包。包含了一些命令脚本,用来运行应用、运行测试与其他。

tsconfig.json

为 TypeScript 编译器指定如何将 TypeScript 代码转换为 JavaScript 文件,用来在所有现代浏览器中运行。

tslint.json

利用 npm 安装的 TypeScript 语法检查器 (linter) 检测 TypeScript 代码并在你违反它的规则时提示你。

文件夹e2e/

应用的端对端(e2e)测试,用 Jasmine 写成并用 protractor 端对端测试运行器测试。

文件夹node_modules/

用 npm install 命令安装的 npm 包。

polyfills.ts

不同的浏览器对 Web 标准的支持程度也不同。 腻子脚本(polyfill)能把这些不同点进行标准化。 你只要使用 core-js 和 zone.js 通常就够了,不过你也可以查看浏览器支持指南以了解更多信息。

environments/*

这个文件夹中包括为各个目标环境准备的文件,它们导出了一些应用中要用到的配置变量。 这些文件会在构建应用时被替换。 比如你可能在产品环境中使用不同的 API 端点地址,或使用不同的统计 Token 参数。 甚至使用一些模拟服务。 所有这些,CLI 都替你考虑到了。

对其中一些文件的详细描述

package.json

概述

package.json是npm创建的并且是需要使用npm引入依赖包的时候的配置文件。
每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

最基本的package.json文件

{
  "name" : "xxx",
  "version" : "0.0.0",
}

package.json文件中各个字段的说明

1、scripts字段
scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

2、dependencies字段,devDependencies字段dependencies字段指定了项目运行所依赖的模块,
devDependencies指定项目开发所需要的模块。
它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。

3、peerDependencies
有时,你的项目和所依赖的模块,都会同时依赖另一个模块,但是所依赖的版本不一样。比如,你的项目依赖A模块和B模块的1.0版,而A模块本身又依赖B模块的2.0版。
大多数情况下,这不构成问题,B模块的两个版本可以并存,同时运行。但是,有一种情况,会出现问题,就是这种依赖关系将暴露给用户。
最典型的场景就是插件,比如A模块是B模块的插件。用户安装的B模块是1.0版本,但是A插件只能和2.0版本的B模块一起使用。这时,用户要是将1.0版本的B的实例传给A,就会出现问题。因此,需要一种机制,在模板安装的时候提醒用户,如果A和B一起安装,那么B必须是2.0模块。
peerDependencies字段,就是用来供插件指定其所需要的主工具的版本。

4、bin字段
bin项用来指定各个内部命令对应的可执行文件的位置。

5、main字段
main字段指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。

6、config 字段
config字段用于添加命令行的环境变量。

7、browser字段
browser指定该模板供浏览器使用的版本。Browserify这样的浏览器打包工具,通过它就知道该打包那个文件。

8、engines 字段
engines字段指明了该模块运行的平台,比如 Node 的某个版本或者浏览器。

9、man字段man用来指定当前模块的man文档的位置。

10、style字段
style指定供浏览器使用时,样式文件所在的位置。样式文件打包工具parcelify,通过它知道样式文件的打包位置。

tsconfig.json

tsconfig.json的作用

在项目的根目录下创建 tsconfig.json 文件。
浏览器不能直接执行 TypeScript ,需要用编译器转译成JavaScript,而且编译器需要进行一些配置。 tsconfig.json 的配置就是指导编译器如何生成JavaScript文件。

tsconfig.json中各个参数的作用

{
  "compilerOptions": {
    "declaration": false,
    "module": "commonjs", // 组织代码的方式
    "target": "es5", // 编译目标平台
    "moduleResolution": "node",
    "sourceMap": true, // 把ts文件变异成js文件时,是否生成对应的SourceMap文件
    "emitDecoratorMetadata": true, // 让TypeScript支持为带有装饰器的声明生成元数据
    "experimentalDecorators": true, // 是否启用实验性装饰器特性
    "noImplicitAny": true,
    "lib": ["dom", "es6"],
    "suppressImplicitAnyIndexErrors": true
  },
  "exclude": [
    "node_modules",
    "dist"
  ],
  "awesomeTypescriptLoaderOptions": {
    "forkChecker": true,
    "useWebpackText": true
  },
  "compileOnSave": false,
  "buildOnSave": false
}

Polyfills

/*
    配置好上述的几个文件之后呢,我们在项目中的根目录下创建一个 src 文件夹。

    在 src 文件夹的下面新建一个 polyfills.ts 文件。

    polyfills.ts 文件里引入了运行Angular应用时所需的一些标准js。
*/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';
import 'core-js/es6/weak-map';
import 'core-js/es6/weak-set';
import 'core-js/es6/typed';

/** Evergreen browsers require these. **/
import 'core-js/es6/reflect';

import 'core-js/es7/reflect';

/**
 * Zone JS is required by Angular itself.
 */
import 'zone.js/dist/zone';

import 'ts-helpers';

if (process.env.ENV === 'production') {
  // Production
} else {
  // Development and test
  Error['stackTraceLimit'] = Infinity;
  require('zone.js/dist/long-stack-trace-zone');
}



作者:前端路上的小兵
链接:https://www.jianshu.com/p/176ea79a7101
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Nginx部署angular项目 简单点。 下载Nginx。具体可查看我之前写过的nginx安装方法https://blog.csdn.net/chending_cd/article/details/100557233 在确认nginx配置成功的情况下。即你输入ip可看到 这个是重点。 angular部署很简单。 angular项目打包 ng build 打包完成会在根目录生成一个dist文件。... 阅读详情

相关推荐

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

Angular项目文件结构及作用(初学)

最近初学了Angular.js介绍一下文件结构及目录。下图是新建项目得目录结构,下面来介绍一下目录得结构及作用。 第一层目录: 【node_modules 】 第三方依赖包存放目录(与vue,react作用相同) 【e2e 】 端到端的测试目录 用来做自动测试的 【src 】 应用源代码目录 【.angular-cli.json 】 Angular命令行工具的配置文件。后期可能会去修...

从事前端,不断积累经验,学习新的技术。头像不是本人是莉莉崽(美貌、可爱集于一身的小姐姐,小仙女),一个宝藏博主,值得喜欢! 1265

基于python的排课表系统,用python编写排课系统

实现一个具体的课程管理系统。(5) 学生可以查看自己选上的课的成绩,以及各个课程的得分、绩点,并给出其平均绩点,但不允许查看年级其他人的成绩。(2) 学生定制专属课表,可以查看整个学期本人的课程安排,包括课程名称、上课时间、上课地点、任课老师、学分等等。(13) 系主任可以查看整个系的全部学生以及他们的平均绩点,可以对每个班进行排名,或者也可以对整个系进行排名。(15) 系主任可以查看整个学期所开设的所有课程,包括这些课程的全部详细信息。(1) 学生基本信息的查询,学生可以对本人的系统登陆密码进行修改。

yang0728y的博客 1999

Vue进阶(五十六):vue-cli 脚手架 karma.conf.js 配置文件详解

这个配置文件是命令 npm run unit 的入口配置文件,主要用于单元测试。 这条命令的内容如下 “cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run” 这条命令中的 cross-env 是跨平台设置环境变量,你在命令行中设置环境变量加上这句话就是了。 karma start test/unit/k...

IT全栈 华强工作室 4050

cdh zookeeper未授权访问(安全漏洞)处理

前言: 最近公司在做安全漏洞扫描。发现cdh zookeeper存在未授权访问的问题。 ZooKeeper的节点有5种操作权限: CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写) 注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限 ZooKeeper的身份的认证有4种方式: world:默认方式,相当于全世界都能访问 auth:代表已经认证通过的..

belialxing的专栏 2446

LVGL项目内存告急?试试把中文字库放到SD卡里(基于LvglFontTool V0.5)

本文详细介绍了在LVGL嵌入式项目中如何通过将中文字库存储到SD卡来优化内存使用。针对Flash资源有限的MCU,如STM32F103,提供了基于LvglFontTool V0.5的外部字库生成与动态加载方案,适用于多字号、多语言及OTA场景,显著减少固件体积并提升显示灵活性。

weixin_33726318的博客 456

常用的前端自动化测试工具介绍 —— Karma

点击这里即可获取,包括答案解析。点击这里即可获取,包括答案解析。[外链图片转存中…(img-aVGmJOqY-1713267179862)]

2401_84091993的博客 544

【Windows Server 2019】Active Directory Certificate Services 证书颁发机构的安装,配置和管理Ⅰ——AD CS的安装和配置

博文主要介绍了Windows Server 2019的证书颁发机构的安装和配置方法。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 4833

angular项目文件概览

在Mac上打开终端,输入ng new b-app 如下: 然后在webstorm中打开 src文件夹 你的应用代码位于src文件夹中。 所有的Angular组件、模板、样式、图片以及你的应用所需的任何东西都在那里。 这个文件夹之外的文件都是为构建应用提供支持用的。 src app app.component.css app.component....

weixin_30292843的博客 85

置顶必读(1) | 滚雪球学Oracle教程导航帖,带你弯道超车(持续更新中)

什么是数据库管理系统(DBMS),Oracle在行业中的领先地位Oracle数据库的市场竞争与主要应用场景Oracle数据库的核心功能模块与未来技术发展趋势约束的高级应用:主键、唯一性、外键设计与管理表分区、视图、同义词与序列的最佳实践PL/SQL编程的设计哲学,如何高效使用Oracle SQL DeveloperPL/SQL代码调试与优化技巧RAC集群中的高可用性设计,负载均衡与并行查询的配置集群中的缓存一致性管理。

**My Coding Family** 1万+

32、生物医学中的多模态拉曼散射成像技术

本文综述了多模态拉曼散射成像技术在生物医学领域的应用,重点探讨其在肿瘤研究、癌症无创诊断和组织功能分析中的前沿进展。通过结合自发拉曼、相干拉曼散射(CARS/SRS)、光学相干断层扫描(OCT)、荧光寿命成像(FLIM)及多光子显微技术(TPEF/SHG)等多种模态,实现了对细胞和组织的高特异性生化信息与高分辨率形态学特征的同步获取。文章还介绍了多模态SERS纳米探针的设计及其在靶向成像与治疗一体化中的潜力,并系统分析了不同成像方式的操作流程、优势互补性及临床应用场景。最后展望了该技术向小型化、智能化和个性

zzz56的博客 153

Angular项目目录介绍

AngularJS实际项目应用——项目目录结构概览 标签: javascriptangularjs移动前端ES6 2017-01-20 17:31 1230人阅读 评论(0) 收藏 举报 分类: AngularJS(13) 版权声明:本文为博主原创文章,未经博主允许不得转载。 在网上很多AngularJS的项目示例中,目录

5hongbing的博客 437

电子科技大学计算机预推免(最终去向)

电子科技大学,预推免报名时必须要有一封本校老师写的推荐信,推荐信基本上就是复试的入场券,所以一定要提前联系老师,拿到推荐信。只要有机会进了面试,我觉得老师对于双非并不歧视,面试的个人表现才是关键性决定因素,技巧性也是很强的,如果有需要帮助的,欢迎私信~~

D1379951481的博客 3366

angular学习笔记(二)创建应用

一、创建应用 ng new具体指令配置请参照官方说明文档:Angular - ng new运行项目 2.2 src目录 三、默认文件解析 3.1 main.ts文件 platformBrowserDynamic()对象解析:命令参考官方链接:Angular - ng generate

jatej 264

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

angular6项目目录结构分析、app.module.ts分析(二)

1.目录结构分析 e2e:用来做自动化测试的 node_modules:存放第三方依赖包 src:应用源代码 .editorconfig:编辑器配置文件 .gitignore:git配置文件 package-lock.json:锁定了npm install下载的依赖包的版本 package.json:npm配置文档 README.md:项目说明文档 tsconfig.json:typeScrip...

盼盼盼的博客 832

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Angular Tracy 小笔记 安装,目录结构介绍

Angular 安装,目录结构介绍 Angular 4.0 安装 组件是 Angular 的核心思想 Angular 支持跨平台,手机 PC 都可以, 是谷歌创建的 JS 框架 Single-Page-Application 单页应用一些angular的项目列表 中文官网;angular 官网 先安装 Node.js (LTS 稳定版)安装完之后看看自己的 nodejs 版本 (npm -v),安装完 node.js 我们就可以使用这种 npm 命令了 然后安装 Angular ...

weixin_48702807的博客 238

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Angular入门启蒙05,Angular 项目目录结构深度解读:从文件作用到核心配置

本文深度解析Angular 17项目的目录结构,帮助开发者理解其组织逻辑。项目根目录包含关键配置文件:angular.json(构建配置)、package.json(依赖管理)、tsconfig系列(TypeScript编译规则)。src目录是业务代码核心,包含入口文件main.ts、index.html、全局样式、静态资源和环境配置。app目录存放业务组件、路由配置和全局设置,建议按功能模块组织。文章对比了Angular 17独立组件模式与早期模块模式的差异,并提供了两种app目录组织方案。通过理解这种工

码路同行 976

【Angular】创建一个Angular项目

创建一个 Angular 项目通常是使用 Angular 的 CLI(命令行界面)工具来完成的。Angular CLI 提供了非常强大的工具来简化 Angular 应用的开发、构建和测试。Angular CLI 会自动创建基本的端到端测试框架。:Angular 项目的配置文件,定义了项目结构、构建设置、开发服务器配置等。:npm 包管理配置文件,列出了项目的依赖、开发依赖以及脚本命令。:这个目录是应用的核心,包含了应用的所有组件、服务和模块等。:应用的入口文件,启动 Angular 应用并引导根模块。

u013675821的博客 2335

新建angular空项目中,各基本文件的作用

e2e:这是一个e2e测试用的文件夹,基本用不到。 node_modules:这是你这个项目所有需要的外部依赖的存放位置,有时你的项目找不到什么依赖,可以来这里看看,如果这里都没有,代表你这个项目根本没引入这个依赖。 src:开发过程中,你的代码都写在这里面 .editorconfig:编辑配置,比如一个tab占几个空格,主要是为了换个编辑工具,能让你的代码看起来还是那么整齐。 .gittignore:用git工具上传代码时,忽视哪些文件,就是不上传这些文件。主要是为了省事。不经常修改的文件可以声明在这里,

无趣的博客 692

angular脚手架中的各个文件是干什么用的?

angular脚手架中的全部文件: E2e: 端对端测试文件 node_modules: 配置文件的文件包 .editorconfig: 编辑器的配置文件 .gitignore: 使用git忽略你不需要的文件 angular.json: angular配置文件 package.json: 1定义本项目名称和版本、2配置项目需要的各种依赖(node_modules里面包含的文件名称和版本.) README.md: 告知你运行的相关命令等 tsConfig.json: typescript的配

weixin_41875025的博客 895

【前端】1. Angular环境搭建、创建Angular项目、运行Angular项目

一、Angular环境搭建 (一)下载并且安装Node.js 官方网站下载:https://nodejs.org/en/ 安装angular的计算机上面必须安装最新的nodejs–注意安装nodejs稳定版本 双击点开下载好的安装包 进入安装界面,点next 选择nodejs安装路径,默认是c盘,这里改成d盘(选择内存比较大的盘,尽量不要安装在c盘里) next下一步,准备安装 安...

weixin_43938259的博客 1万+

Angular 项目入门指南

Angular 项目入门指南 【免费下载链接】angular Angular是由Google开发和维护的一个现代前端JavaScript框架,具有高效的数据绑定、模块化架构、依赖注入等特性,适合构建大型企业级单页应用。 项目地址:...

gitblog_00129的博客 832

angular项目中package.json文件的了解

初始创建了angular项目后,会自动生成一个package.json的文件 该文件下的内容是json格式编写的,最外层包含以下的“键”: name:项目名 version:版本 scripts:指令键值对 dependencies:运行应用的基础(引用) devDependencies:只有在开发应用时才会用到(引用) scripts的解释: 先举个例子: "scripts":{ "ng":"ng", "start":"ng serve", "build":"ng build" }, 这里可以看到

无趣的博客 1690

angular4+springboot项目开发—angular(创建新项目)

创建angular项目 一 安装node.js 官网地址 在命令行中验证是否安装成功 node npm -v 二 全局安装Angular Cli脚手架工具 1、npm安装 npm install -g @angular/cli 安装淘宝镜像 npm install -g cnpm –registry=https://registry.npm.tao

BigFatDing的博客 6634
上一篇: 对象多态性的理解
下一篇: DevOps简介
scnuwilliams
博客等级 码龄10年 32粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值