Go 工业级编程

原文(https://peter.bourgon.org/go-for-industrial-programming/) 我们不应该盲目地应用教条主义的建议,每次我们应该使用我们的判断。 互联网上的一些人发现,你在科技行业呆的时间越长,你的观点就会变得越好,这要看情况而定,我不确定,这些是不是很好。根据我的经验,如果你发现随着你事业的发展,你会变得越来越固执己见,那么你很有可能陷入一种窠臼,成为一个专业的初学者。不太好了! 明确定义一个适用范围,就能给自己留出一点空间来形成一个明确的意见:...

阅读全文

编写自己的Yeoman生成器-10.将Yeoman集成到其他工具中

每次运行生成器时,您实际上都在使用yeoman-environment。环境是一个与任何UI组件分离的基础系统,可以通过任何工具进行抽象。当你运行时yo,你基本上只是在核心Yeoman环境之上运行终端UI外观。 基础您需要知道的第一件事是环境系统包含在yeoman-environment包中。您可以通过运行来安装它: 1npm install --save yeoman-environment 该模块提供了检索已安装的生成器,注册和运行生成器的方法。它还提供了生成器正在使用的用户界面适配器...

阅读全文

编写自己的Yeoman生成器-8.测试生成器

继续阅读以了解有关Yeoman添加的测试助手的更多信息,以减轻单元测试生成器的痛苦。 以下示例假设您在BDD模式下使用Mocha。全局概念应该很容易应用于您选择的单元测试框架 组织你的测试保持测试简单易于编辑非常重要。 通常,组织测试的最佳方法是将每个生成器和子生成器分隔为自己的describe块。然后,describe为您的生成器接受的每个选项添加一个块。然后,it为每个断言(或相关断言)使用一个块。 在代码中,您应该得到类似于此的结构: 12345678describe('backbo...

阅读全文

编写自己的Yeoman生成器-7.管理配置

存储用户配置选项并在子生成器之间共享它们是一项常见任务。例如,通常共享首选项,如语言(用户使用CoffeeScript吗?),样式选项(用空格或制表符缩进)等。 这些配置可以通过Yeoman Storage API存储在.yo-rc.json文件中。可以通过generator.config对象访问此API 。 以下是您将使用的一些常用方法。 方法this.config.save() 此方法将配置写入.yo-rc.json文件。如果该文件尚不存在,则该save方法将创建该文件。 该.yo-r...

阅读全文

编写自己的Yeoman生成器-6.使用文件系统

位置上下文和路径Yeoman文件实用程序基于您在磁盘上始终有两个位置上下文的想法。这些上下文是您的生成器最有可能读取和写入的文件夹。 目标上下文第一个上下文是目标上下文。目标是Yeoman将脚手架新应用程序的文件夹。它是您的用户项目文件夹,它是您编写大部分脚手架的地方。 目标上下文定义为当前工作目录或包含.yo-rc.json文件的最近父文件夹。该.yo-rc.json文件定义了Yeoman项目的根。此文件允许您的用户在子目录中运行命令并让它们在项目上工作。这确保了最终用户的一致行为。 你...

阅读全文

编写自己的Yeoman生成器-5.依赖关系管理

一旦运行了生成器,通常需要运行npm(或Yarn)和Bower来安装生成器所需的任何附加依赖项。 由于这些任务非常频繁,Yeoman已经把它们抽象出来了。我们还将介绍如何通过其他工具启动安装。 注意,Yeoman提供的安装助手将自动安排安装作为install队列的一部分运行一次。如果您需要在它们运行之后运行任何东西,请使用end队列。 NPM您只需要调用this.npmInstall()即可运行npm安装。npm install即使多个生成器多次调用命令,Yeoman也会确保命令只运行...

阅读全文

编写自己的Yeoman生成器-4.组合性

组合性是一种将较小的部件组合在一起构成一件大事的方法。排序像Voltron® Yeoman为生成器提供了多种方式来建立共同点。重写相同的功能没有任何意义,因此提供了一个API来在其他生成器中使用生成器。 在Yeoman中,可组合性可以通过两种方式启动: 生成器可以决定与另一个生成器(例如,generator-backbone使用generator-mocha)组合。 最终用户也可以发起合成(例如,Simon想要生成具有SASS和Rails的Backbone项目)。注意:最终用户发起的...

阅读全文

编写自己的Yeoman生成器-3.与用户交互

您的生成器将与最终用户进行大量交互。默认情况下,Yeoman在终端上运行,但它也支持不同工具可以提供的自定义用户界面。例如,没有什么能阻止Yeoman生成器在编辑器或独立应用程序之类的图形工具中运行。 为了实现这种灵活性,Yeoman提供了一组用户界面元素抽象。作为作者,您有责任在与最终用户交互时仅使用这些抽象。使用其他方法可能会阻止您的生成器在不同的Yeoman工具中正确运行。 例如,永远不要使用console.log()或process.stdout.write()输出内容很重要。使用...

阅读全文

编写自己的Yeoman生成器-2.运行时上下文

编写生成器时要掌握的最重要的概念之一是方法的运行方式和上下文。 原型方法作为动作直接附加到Generator原型的每个方法都被认为是一项任务。每个任务都由Yeoman环境运行循环按顺序运行。 换句话说,返回的对象上的每个函数Object.getPrototypeOf(Generator)都将自动运行。 辅助方法和私有方法既然您知道原型方法被认为是一项任务,您可能想知道如何定义不会自动调用的辅助方法或私有方法。有三种不同的方法可以实现这一目标。 方法名称下划线前缀(例如_private_m...

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :