javascript - Angular2/TypeScript 的编码标准

标签 javascript typescript angular

我想知道社区对于如何在 TypeScript 中编写可重用的 Angular2 代码是否至少达成了一些共识。我试图在 Angular2 的背景下总结我的发现和我想知道的内容。

模块/应用程序目录结构和文件名

  • official tutorial我看到他们将所有代码放入 app目录和所有依赖项,如 node_modules或者输入内容位于父目录中。

  • 小写文件名,.component.ts组件后缀和 .service.ts用于服务。他们将所有文件都放在同一个目录中,这会变得一团糟?

  • 每个文件一个类/接口(interface)/枚举。对于类、函数、接口(interface)和其他名称,最好坚持使用 Coding guidelines for TypeScript by Microsoft

模块

  • 模块是否应该使用 postinstall 进行编译和捆绑? npm钩?或者像大多数 JavaScript 库一样直接在 git 上提供捆绑版本会更好吗?
  • 我应该坚持 system当我期望我的模块仅由浏览器使用时,默认情况下模块的类型还是始终使用 UMD 更好?
  • 有什么理由使用 CommonJSAMD而不是system

使用第三方模块

  • 我是否应该期望其他开发人员将我的模块嵌入 <script>标签,否则他们会使用 System.import() 加载它?
  • 如果我的模块依赖于其他 JavaScript 库,那么提供包含所有依赖项的整个模块的捆绑版本是否更好,或者只是在 package.json 中定义它们? ?

最佳答案

Angular 2 样式指南 ( https://github.com/mgechev/angular2-style-guide ),如 Angular2 News 中所述。 :

The purpose of the following style guide is to present a set of best practices and style guidelines for the development of Angular 2 applications. If you are looking for an opinionated style guide for syntax, conventions...

关于javascript - Angular2/TypeScript 的编码标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560939/

相关文章:

angular - Nativescript - 错误装饰器中不支持函数调用,但调用了 'NativeScriptRouterModule'

javascript - 如何在选中另一个复选框时取消选中一组复选框

javascript - 为什么 Node.js 中的 console.log 会干扰变量的排列?

javascript - 在 Meteor 中登录并注册 Facebook 时出现问题

javascript - 将 jQuery 插件与 Angular 5 (Typescript) 一起使用失败

javascript - promise 拒绝不能正确传播错误

javascript - 如何从另一个对象内的函数内使用 this 引用顶级对象

javascript - 无法获取子 DOM 元素

typescript - Angular 2单向数据绑定(bind)在动态加载的组件内部不刷新

angular - 更改路线而不更改 Angular 5 中的 url