首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有某些文件我不应该包含在Angular 2中的barrel文件中,和/或导入顺序是否重要?

在Angular 2中,barrel文件是一种特殊的文件,用于导出模块中的所有组件、指令、服务等。在使用barrel文件时,有一些文件是不应该包含在其中的。

首先,不应该将测试文件(spec文件)包含在barrel文件中。测试文件通常用于编写单元测试或集成测试,它们与应用程序的正常运行无关,因此不应该被导入到其他文件中。

其次,不应该将配置文件(如tsconfig.json、angular.json等)包含在barrel文件中。这些配置文件是用于配置项目的构建、编译等过程,它们不属于应用程序的一部分,因此也不应该被导入到其他文件中。

此外,还有一些特定的文件或文件夹也不应该包含在barrel文件中,例如node_modules文件夹、dist文件夹、.git文件夹等。这些文件或文件夹通常包含第三方库、构建输出等内容,它们不应该被导入到其他文件中。

关于导入顺序的重要性,对于Angular 2来说,导入顺序是重要的。在使用模块化开发时,我们需要按照依赖关系的顺序来导入模块、组件、服务等。如果导入顺序不正确,可能会导致编译错误或运行时错误。

在Angular 2中,推荐的导入顺序是先导入Angular的核心模块,然后是第三方库模块,最后是自定义模块。这样可以确保依赖关系的正确性,并提高代码的可读性和可维护性。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法给出具体的推荐。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以根据具体需求进行选择和使用。

总结:在Angular 2中,不应该将测试文件和配置文件包含在barrel文件中,导入顺序是重要的,应按照依赖关系的顺序进行导入。关于腾讯云相关产品和产品介绍,建议参考腾讯云官方网站获取更详细的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Rspack 作者揭秘,你 Tree Shaking 真的起作用了吗?

” 在某些情境下,像 usedExports 这样优化也被认为是 tree shaking sideEffects[2] 一部分: “sideEffects usedExports(通常更多地被称作...这一点解释了为什么在提到例子,button.js 及其子树(包括 button.css side-effect.js)可以被安全删除,这在组件库情景尤为重要。.../components/button'; 像 Next.js UmiJS 这类框架也提供了类似的优化功能,称为“优化导入”[4]。他们方法是在加载阶段重写这些路径。...这通常可以归结为三个主要类别之一: SideEffect 优化失败 当一个模块导出变量未被使用仍被包含在最终时,通常表示 SideEffect 优化失败。...,使得该模块被包含在最终

15410

Angular快速学习笔记(2) -- 架构

它将核心功能可选功能作为一组 TypeScript 库进行实现,你可以把它们导入应用。 全新Angular 是一个用 HTML TypeScript 构建客户端应用平台与框架。...Angular 本身使用 TypeScript 写成。它将核心功能可选功能作为一组 TypeScript 库进行实现,你可以把它们导入应用。 1....JavaScript ,每个文件是一个模块,文件定义所有对象都从属于那个模块。 通过 export 关键字,模块可以把它某些对象声明为公共。...数据绑定在模板及其组件之间通讯扮演了非常重要角色,它对于父组件子组件之间通讯也同样重要。 ? 父组件,通过属性绑定向子组件传递数据,而子组件通过事件绑定向与父组件通信。...通常在构造函数,注入依赖service: constructor(private service: HeroService) { } 当 Angular 发现某个组件依赖某个服务时,它会首先检查是否该注入器已经了那个服务任何现有实例

5.2K20

Top JavaScript Frameworks & Topics to Learn in 2017

然后全身心投入到工作吧。 可选学习笔记 这种标致 * 表示是严格可选,这意味着,推荐他们,如果你对他们感兴趣,或者你工作需要了解它们,但你不应该感到学习他们义务。...建议学习 vim ,至少加入你备忘单,因为迟早,你需要在服务器上编辑文件,掌握 vim 是最简单方法 - vim 安装在几乎所有的 Unix 兼容操作系统,通过 SSH 终端连接可以很好运作...在代码审查TDD后,你可以做第三件事,以减少代码错误。 Tern.js:类型推理工具标准JavaScript,目前最喜欢类型相关 JavaScript 工具 不需要编译步骤注释。...掌握它们真的需要相当多实践。 EDIT: 为什么没有列举出? 很多人问我,“为什么没有列举出他们喜欢框架?” 因为其中一个重要标准是,“在工作能被真正用上”。...使用补丁导入可以将捆绑 rxjs 依赖关系大小减少约 200k。

2.2K00

android-代码样式规范

某些情况下,约定以重要方式发生了变化,较旧代码可能使用已弃用模式库。当使用这样代码,可以继续现有的风格。但是,在创建新组件时,不要使用不推荐使用库。...4.Java风格规则 使用Javadoc标准注释 每个文件应在顶部一个版权声明,其后是packageimport语句(每个块由空行分隔),最后是类接口声明。...这在框架应用程序之间交互尤其重要,由框架正确处理第三方应用程序引起条件不应该触发高于DEBUG级别的日志记录。...在可由第三方应用程序访问代表第三方应用程序访问文件系统上具有完整文件系统不应该记录在高于INFORMATIVE级别。...我们在这里提出全球风格规则,所以人们知道词汇,但本地风格也很重要。如果你添加到一个文件代码看起来与现有的代码很大不同,当读者阅读它时,它会使读者脱离他们节奏。尝试避免这一点。

54330

Angular 5.0.0发布!

构建优化器是CLI一个工具,它基于我们对你Angular应用理解,可以把构建后变得更小。 构建优化器两个主要任务。...首先,把你应用某些部分标记为 pure,以便原有工具利用它改进“tree shaking”优化效果,同时删除应用不必要东西。 其次,构建优化器会从你应用删除Angular装饰器代码。...保留空白 过去编译器会忠实地复现并在模板包含制表符、换行符空白。现在你可选择是否在组件应用包含空白了。 可以在每个组件装饰器中指定这个配置,而当前默认值为true。...在这次小版本升级,我们默认打开了构建优化器,让开发者拿到更小。 我们还修改了使用 .tsconfig文件方式,以更严格地遵守TypeScript标准。...表单对应用很重要,如果有服务端验证,或者验证更新值会触发较慢操作,你当然希望它少跑几次。现在你可以在控件层面控制验证更新值时机了,也可以在表单层面设置。

4.4K40

Angular v8 发布!来看看有什么新功能

Manfred Steyer 解释了最新 Angular 版本中最重要变化。 Angular 8 刚刚发布!...在本文中,将介绍 Angular 8 Angular CLI 8 重要新功能。在文中例子可以在 GitHub 上找到。...为了将类似这样计算甩给后台,我们必须首先用 Angular CLI 创建 一个Web worker: 1ng generate worker n-queens 此语句不仅为 worker 创建文件,还为构建过程现有文件条目创建配置文件...完整实现包含在作者样本集[1]。为了便于说明,可以在主线程 Web worker 解决可用 n 皇后问题。.../lazy/lazy.module').then(m => m.LazyModule) 4} 新书写风格仍然包含文件名作为魔术值。但是由于许多IDE支持导入,因此无效值将立即返回错误。

3K30

你知道在终端执行 Python 代码方式吗?

1、通过标准输入管道因为如何用管道传东西给一个进程是属于 shell 内容,不打算深入解释。毋庸置疑,你可以将代码传递到 Python 。...但这也是为什么你不能/不应该传入包含在一个模块路径。因为sys.path可能不包含该目录,因此所有的导入将相对于与你预期包不同目录。...要在你项目中做到这点,只需要在里指定一个__main__.py文件,它将被当成__main__执行。而且子模块可以像任何其它模块一样导入,因此你可以对其进行各种测试。...5、执行一个压缩文件如果你确实有多个文件/依赖模块,并且希望将所有代码作为一个单元发布,你可以用一个__main__.py,放置在一个压缩文件,并把压缩文件所在目录放在 sys.path 里,Python...执行压缩文件对扩展模块无效(这就是为什么 setuptools 一个 zip_safe[8]标志原因)。

2.4K20

Angular入门,开发环境搭建,使用Angular CLI创建你第一个Angular项目

因此这篇文章主要是对这段时间使用Angular做一些小总结,希望可以帮到需要同学。...Angular生命周期函数: 什么是生命周期函数?...生命周期钩子:https://angular.cn/guide/lifecycle-hooks 当 Angular 使用构造函数新建一个组件指令后,就会按下面的顺序在特定时刻调用这些生命周期钩子方法:...该方法接受当前上一属性值 SimpleChanges 对象 在 ngOnInit() 之前以及所绑定一个多个输入属性值发生变化时都会调用。...Angular项目创建并运行: 通过Angular脚手架创建一个新项目: 在终端(win+r 输入cmd)打开E:\Angular 文件目录,输入一下命令新建项目: ng new MyAngularProject

2.7K20

Maven生命周期

一般来说,位置稍后过程都会依赖于之前过程。当然,maven同样提供了配置文件,可以依照用户要求,跳过某些阶段。...三种生命周期 下面列出了default、cleansite生命周期所有构建阶段,这些阶段按照指定顺序执行。...initialize 初始化构建状态,例如设置属性创建目录。 generate-sources 生成包含在编译任何源代码。...对于Maven 2.0.5以上。 test 使用合适单元测试框架运行测试。这些测试不应该要求打包部署代码。 prepare-package 在实际包装前执行必要准备工作。...install 将该安装到本地存储库,作为本地其他项目的依赖项。 deploy 在集成发布环境完成,将最终复制到远程存储库,以便与其他开发人员项目共享。

36410

JavaScript生态加速攻略:模块解析

经过一番检查,发现了一个在查看每个分析文件中都存在重复模式,它会影响这些任务总运行时间高达 30%。它是我们基础设施如此关键有影响力一部分,值得有一篇专门博客文章来介绍。...斜杠 / 开头规范符,是一种特殊导入方式,通常用于引用npm。该算法在node文档中有详细描述。...简而言之,将检查每个目录是否包含模块目录。检查数量直接与导入文件所在目录数相关。问题在于,这会发生在每个导入 foo 文件。...这通常是通过TypeScript paths 编译器选项捆绑器解析别名来完成。问题在于,这些通常与导入无法区分。...但是,看着数字,这只会使总代码检查时间增加0.05%。与此相比,这只是一个非常小影响,但是额外文件系统调用不应该重要吗?

73740

浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

angular同学,可以灵活修改一下页面某些内容。...当然,严谨项目不应该出现zepto。...团队合作过程,各种协作,代码冲突等等,都会给一个优秀框架带来各种奇怪难题。所以,框架还不够,我们还需要根据自身业务团队情况,按需裁剪或者修改框架,找到最佳实施方案。...resolve写法比较特殊,接受是一个key:value对象,keyName将会导入到controller(如果controller注明依赖)。...再另外,专家要拍板了,这样乱修改,肯定带来毛病。是的,不得不说,自己都没彻底检查是否问题,但按照实际情况来看,暂时没遇到问题。

3.3K20

在同一基准下对前端框架进行比较

通常“todo”并没有传达出在构建真正程序时所需足够知识视角,。 标准化 一个符合某些规则项目。提供后端API、静态标记、样式规范。...github: https://github.com/gothinkster/realworld 是否大量拥趸者并不重要。唯一要求是它是否出现在了 RealWorld 代码仓库页面上。 ?...公平地说,一些程序过于花里胡哨,但它不应该产生重大影响。我们量化唯一文件夹是每个程序 src/。...这取决于框架大小和你添加额外依赖项,以及构建工具如何消除捆绑未使用代码。 简述 文件越小,下载越快,解析越少。 ? 传输大小以KB为单位 - 越少越好 结论 这里发生了很多令人惊讶事情。...注意 Angular + ngrx:在 /libs 文件夹内完成代码行数计算,仅包括*.ts *.html 文件。如果你觉得这是错,请告诉正确值是多少,以及你是如何计算

94820

如何在 ASP.NET MVC 中集成 AngularJS(2)

捆绑可以很容易地将多个文件合并捆绑到一个文件。您可以创建 CSS,JavaScript 其他。压缩可以优化脚本 CSS 代码,如去除不必要空格注释,缩短变量名到一个字符。...为工程每一个文件设置了一个独立捆绑,包括对脚本单独捆绑,Angular 核心文件,共享 JavaScript 文件主目录单,客户目录产品目录。...创建了客户产品目录独立,带着这种想法,当用户请求应用程序这些源文件时,应以将会动态加载这些捆绑。...需要信息重要一块是虚拟路径每一次捆绑长版本号。幸运是,访问捆绑信息方法,本身就是一种捆绑功能。 下面的代码行关键行引用了 BundleTable。...最初计划创建一个常规 AngularJS 服务或者一个包含在 _Layout.cshtml 文件能够使用 Razor 语法注入服务器端方法集。

8.3K100

Go 标准库

在说标准库之前,可能要先说一下Go语言里“概念,一个代表了Go语言中代码组织主要形式,因为Go对单文件没有限制,理论上你代码,都可以写在一个文件。...正常情况下,编写一个最佳结构让你来学习,如: /bin /pkg /src xxmain.go Makefile 如果想要构建一个程序,则文件都必须以正确顺序进行编译。...依赖关系决定了其构建顺序。属于同一个文件必须全部被一起编译,一个即是编译时一个单元,因此根据惯例,每个目录都只包含一个。...本文发表后,标准库内容还可能继续增加,因此 建议大家最好是通过在线查阅库API使用godoc(包含在Go发布)来获取最新信息以及全面了解每个所具备功能。...exp通常只存在于从Google Go源码树上签出源码,但一般不会包含在预构建好。其他可以放心使用,虽然在写下本文这一刻,很多依旧不够完整。

1.1K20

模块化开发 Angular 应用

想要更好地理解 Angular 应用程序所有的不同构建模块? 在这篇文章,我们将走进模块内容。 在 angular 应用,模块是共享重用代码好方法。...Angular 代码通常以模块形式组织。我们可以将模块视为包含特定用例所需要代码捆绑。 最重要模块是 App-Module,每个通过脚手架生成应用都有它。...如果你想在多个模块中使用你组件,你需要将改组件捆绑到一个单独模块,并将其导入到模块。 Imports 说到导入... 你模块可以导入任意数量子模块。还没有定义任何自定义模块?...虽然很多特性都包含在 Angular 核心中,但是有些特性被捆绑在它们自己模块。比如,你想使用 HttpClient,你得想导入 HttpClientModule。...当你以惰性方式加载模块时,它不会包含在初始程序。相反,它仅在需要时候才下载。为啥要下载我们还没用得上组件呢,是吧? 那么,它是怎么工作? 我们用惰性加载方式更改下先前例子。

3K10

Python 第三方模块 科学计算 SciPy模块1 简介,常数,IO「建议收藏」

大家好,又见面了,是你们朋友全栈君。...,提供了一些空间相关数据结构算法,如Delaunay三角剖分/共面点/凸/维诺图/Kd树 special 特殊函数模块,提供了各种特殊数学函数,如贝塞尔函数 stats 统计模块,提供一些统计学上常用函数分布...;为str/file-like object mdict:指定要在添加键值对;为dict appendmat:是否在提供文件名结尾加上.mat后缀;为bool...#为True时,可不加后缀名(也可加).mat;为False时,必须加 byte_order:指定字节顺序;为None(从文件推测)/str(可为'native...文件版本;可为1/2 maskandscale:指定是否基于属性自动缩放/隐藏数据;为bool o:返回创建对象,其中包含数据;为netcdf_file object

94220

Angular React Vue应该选择什么?

现如今 Angular React 非常流行,并且最近出现新贵 VueJS 同样博得了很多人关注。更重要是,这只是一些新起之秀。 ?...在过去 2 年,npm 下载次数 市场生命周期 由于各种名称版本,很难在 Google 趋势中比较 Angular,React Vue。一种近似的方法可以是“互联网与技术”类别搜索。...如果某些不再被维护,或者其他一些包在某些时候成为事实上标准,这也可能是不利。...这似乎是对于关注分离权衡 - 模板,脚本样式在一个文件,但在三个不同有序部分。这意味着你可以获得语法高亮,CSS 支持以及更容易使用预处理器(如 Jade SCSS)。...在你搜索过程,你可能会发现很多其他吸引力选项 —— 尽量不要被最新,最闪亮框架蒙蔽。 应该选什么?

2.9K20

深入探讨 Python import 机制:实现远程导入模块

导入系统基础 1.1 导入单元构成 导入单元多种,可以是模块、及变量等。 对于这些基础概念,对于新手还是必要介绍一下它们区别。...部分也可能处于 zip 文件、网络上,或者 Python 在导入期间可以搜索其他地方。命名空间并不一定会直接对应到文件系统对象;它们可能是无实体表示虚拟模块。...但有时候不想使用全部插件,只想使用 plugin02、plugin04 ,那我就在配置文件要使用两个插件。...顺序重要,避免递归导入) 然后加载模块(这是核心) 若加载出错,需要能够处理抛出异常( ImportError),若加载成功,则返回 module 对象 若你想看具体例子,可以接着往后看。...,你需要注意两点,很重要: execute_module 必须重载,而且不应该有任何逻辑,即使它并不是抽象方法。

98710

深入探讨 Python import 机制:实现远程导入模块

导入系统基础 1.1 导入单元构成 导入单元多种,可以是模块、及变量等。 对于这些基础概念,对于新手还是必要介绍一下它们区别。...部分也可能处于 zip 文件、网络上,或者 Python 在导入期间可以搜索其他地方。命名空间并不一定会直接对应到文件系统对象;它们可能是无实体表示虚拟模块。...但有时候不想使用全部插件,只想使用 plugin02、plugin04 ,那我就在配置文件要使用两个插件。...顺序重要,避免递归导入) 然后加载模块(这是核心) 若加载出错,需要能够处理抛出异常( ImportError),若加载成功,则返回 module 对象 若你想看具体例子,可以接着往后看。...,你需要注意两点,很重要: execute_module 必须重载,而且不应该有任何逻辑,即使它并不是抽象方法。

63230

Angular12个经典问题,看看你能答对几个?(文末附带Angular测试)

不论是初学Angular新手,还是一定Angular开发经验开发者,了解本文中12个经典面试问题,都将会是一个深入了解学习Angular 2知识概念绝佳途径。...在文中,我们将会接触到很多Angular 2重要概念,并附扩展阅读资料自查小测试,供大家评估自己对Angular了解程度。 Angular 经典问题及扩展阅读 1. ...使用Angular 2,使用Angular 1相比,什么优势?...Codelyzer是一个开源工具,用于运行检查是否遵循了预定义编码准则。Codelyzer仅对AngularTypeScript项目进行静态代码分析。...loadChildren会从根文件获取绝对路径。RouterModule.forRoot()会获取routes数组并配置路由器。 在子模块中导入模块特定路由。

17.3K80
领券