애플릿에 타이프 라이터 친구

기사 디렉토리

[2018년 11월 14일 새로운 타이프 지원] 애플릿 개발 툴 조용히 타이프에 대한 지원을 추가하는 버전 업데이트. 타이프 라이터 ??? 타이프 라이터!


왜 타이프 라이터

이 한 번 봐 걸릴 수 있습니다 전에 타이프 라이터에 대해서는, 썼다 "약 타이프 라이터를" . 텍스트의 마지막 이야기는, 즉, 대부분의 경우 타이프 라이터 우리가 고충을 해결하는 데 도움이.

오랜 시간 후, 아이디어는 여전히 동일합니다 : 이 일을 타이프 당신이 응용 프로그램의 큰 포인트를 관리 할 때, 당신은 그것의 장점을 느낄 것이다 . 특히, 팀워크의 시간!

프로젝트가 상대적으로 작거나 작은 공공 (작업)을 작성하는 경우 물론, 시간의 작은 데모, 저장, 상태 관리, 추가 비용 간신히 적합 없다 익숙한하지 않는 타이프 라이터가, 컴파일, (함께) 인용 액세스 할 수 있습니다. 특정 장면 아키텍처에 대해 이야기에서, (시아) 흐름 (체) 멩 (단) 연주된다.

왜 타이프 라이터?

변수 유형은 명확하지 않다

일치 코딩 스타일뿐만 아니라, 아웃소싱 작은 프로그램을 작성하기 전에, 그것은 문제가 변수가 될 것이다 발생했습니다.

      
      
1
4
5
6
(7)
8
      
      
하자 formGroups = .currentStep.formGroups을;
하자 flattenFields = _.flatten (formGroups를); // 추측하지 않는다, 나는 그것이 객체 여야, 매끄러운과 평평 [{}, {}, {}]까지!
flattenFields.forEach ( 항목 => {
IF (item.fields) { 내 item.fields 배열이나 객체를 추측 //?
flattenFields.push (..._ 값 (item.fields).); // 생각하지 않는다, 내가 사용하는 값이 사라지고, 그것의 대상이되어야합니다!
}
});

나는이 문제를 디버깅 도움이 때, 볼 포인트를 휴식 :
이 배열 것 같다?
어떻게 이런 일이 대상이된다?  ?  ?

야옹 야옹 야옹? ? ?

      
      
1
4
5
6
(7)
8
9
(10)
(11)
(12)
(13)
(14)
(15)
(16)
      
      
내 신발 # 대화 및 아웃소싱 :
I : 당신은 결국 그들을 입력 한 단어를 볼 수없는 명명 컨텍스트에서 무엇을하고 있습니다. .
나는 : 미세한 코드를보고있다. .
신발을 아웃소싱 : 당신 같은 값을 변경하려고 할 수 있습니다
I : 배열 또는 객체입니다?
아웃소싱 신발 : 일부 배열, 일부 개체
복잡한 숫자의 배열 일반 : 신발을 아웃소싱
나는) 칼 .JPG를 :(
I : FML
I : 그래서 정말 당신에게 당신 item.fields, 때로는 배열, 때로는 개체,
I : 형제
나는 *) 칼 .JPG를 :(

어떤 사람들은 타이프 라이터 가능성이있는 패배 아이 될 수도에, 생각한다.

무엇? 어떤 내 눈에서? ! !

인터페이스 프로토콜을 준수하지 않는

      
      
1
4
5
6
(7)
8
9
      
      
전면 :이 인터페이스가 실패 반환하는 이유를 확인하는 데 도움이?
배경 : 적은, 아,이 xxx는이 인터페이스 필드
(흠 흠 립 립 수정)
前端:帮忙看看这个接口为啥又报错了啊?
后台:你这个字段类型不对...我协议里有写的
前端:喔不好意思我改
(哼哧哼哧修改)
前端:(泪光)帮忙看看这个接口为啥还报错?
后台:...你这字段名拼错了啊!!!!

当然,这个案例里稍微夸张了一点,一般我们都会自己一个个对着协议检查哪里不对,但是很多时候被 bug 光环环绕的时候,你就是发现不了问题。

这个时候,我们就可以用 Typescript 来管理接口啦。

      
      
1
2
3
4
5
      
      
interface IDemoResponse {
date: string;
someNumber: number;
otherThing: any;
}

1. 使用约定的变量的时候,会有相关提示(请忽略我的强行any)。

팁을 입력

2. 使用约定以外的属性时候,会报错提示。

오류 메시지

除此以外,还有很多很棒的用法呢~

一键调整协议

前端和后台协议约定后,就开始各自开发了。但是,我们总会遇到各种各样的问题,可能导致我们的协议变更。

字段的变更什么的最讨厌了,例如后台要把某个接口下date改成day。一般来说前端是拒绝的,你不能说让我改我就得改,我得看看我写了多少代码,评估下工作量。

什么,全局替换?你知道使用date多普遍吗?万一我替换错了咋办??

这时候,如果你使用了 Typescript 并定义了协议接口的话,就很好办了~

依然是这段代码:

      
      
1
大专栏   小程序上Typescript啦ss="line">2
3
4
5
6
7
8
      
      
interface IDemoResponse {
date: string;
someNumber: number;
otherThing: any;
}
const demoResponse: IDemoResponse = {} as any;
const date = demoResponse.date;

1. 选中需要重命名的属性。

이름을 바꿀 수있는 속성을 선택

2. 按下F2,重新输入属性名。

이름을 바꿀 수있는 속성을 선택

3. 按下回车,使用到的地方都会更新。

업데이트 속성

是不是很酷~~~

跨过 Babel 直接使用 ES6/ES7,跨过 eslint 直接使用 prettier

其实小程序工具本身也支持了不少的 ES6 新语法,不过像async/await这种,则还是需要自己搞个 Babel 来编译。

现在直接上 Typescript,连 Babel 都可以直接跳过啦。

Prettier

这里重点推荐 prettier 神器,也是团队配合的好工具啊:

  • 项目代码没有配 eslint?导致每次拉下来的代码一大堆冲突?
  • 团队成员使用不同的编辑器?有的没有自动格式化?导致拉下来代码还是一堆冲突?
  • 用 standard?有些规范和实际项目不符合,但是偏偏没得改??

偷偷地往项目里装个 Prettier,然后所有的矛盾都不见啦。不管你的代码格式多独特,最终在 Git commit 的时候,就被同化啦,而且 Prettier 的格式化也不会影响到 Git 记录。

小程序与 Typescript

Typescript 编译下就可以用?

其实小程序它最终运行的还是 Javascript,那不是我们直接自己编译下就好了吗?

少年你太天真了。咱们写 Typescript 最重要的是什么呀?是 Typing 库呀!

네, 그 제품입니다

网上开源的关于小程序和 Typescript 的工具或者脚手架也一大堆,为啥不用呢?因为小程序的 API 在不断地变化呀~

有了官方的支持,即使小程序的 API 变了,我们也可以及时地更新呀(奸笑)~

开箱即用的尝鲜

既然官方提供支持了,义不容辞地使用呀!

  1. 首先,我们更新到最近的工具版本,然后创建项目就能看到了:

나는 보지 않았다

  1. 创建模版,我们来看看代码长什么样子。

아, 충분한을 입력

我们可以看到,在 package.json 里面多了俩脚本,其实也就是将 ts 文件原地编译,然后上传代码的时候忽略掉了。

  1. 仔细瞧瞧代码。

emmmmm

额,好像混入了一些奇怪的东西进去,感叹号是什么鬼???

后面问了下开发GG,是因为这里比较特殊,目前定义的文件暂时没法兼顾,等后面的版本会兼容。

하지만 여전히 좋은

终于用上 Typescript 啦,爽歪歪~

调整下代码结构

小项目的话,其实也不用带什么编译啦。不过如果你还想用 less,也想用 typescript,还不想看到项目下面乱糟糟的文件:

      
      
1
2
3
4
5
6
      
      
index.js
index.ts
index.json
index.less
index.wxss
index.wxml

우리는 단순히 ~ 홀드 꿀꺽 꿀꺽, 컴파일러 플러스 그것을 얻을

이 대통령

함께 행복하게 그럼 우리는 예뻐. 여기에 그것을 설명하지 않는 것입니다, 우리는 또한 내 데모 프로젝트에 참조 할 수 있습니다 :
wxApp - 타이프 스크립트-데모

그런데, 입력의 공식 저장소는 오 ~ 당신이 구성 요소, 플러그인, 미니 게임을 작성해야하는 경우 당신이 어떤 충격파를 많이 직면 할 수있는, 잘되지 않습니다

Emmmm

참고

결론


사실, 높은 아니라 타이프의 인기는 놀라게 할 또 다른 작은 프로그램입니다. 반대로 그것은 우리 자신에? 방향을 찾을 수있는 비즈니스 코드 대시가 없다?
많은 경우에, 우리는 비즈니스 기술 업그레이드를 작성 말할 것도없고 사랑하지만, 정말입니까? 나는 구현 프레임 워크 설계에서 개발자가 자신의 높은 요구를해야 좋은 비즈니스 코드를 보았다. 이 기술은 코드를 작성해야합니다, 그들은 매우 잘 쓰여진 할 것인가?
"우리는 확실히, 기술 사업 아니다"
어떻게 "얼마나 빨리, 프로젝트가 시급하다"
"위의 그 시간을 낭비하지 말고, 그냥 잘 몇 가지 사용을 찾을 수 있습니다"
...
이 말을, 나는 동의하지 않는다 . 물론, 걱정 프로젝트 당신은 여전히 빚진 부채를 취해야합니다 이후 이해하고, 할 수있을 때. (심각면)

: 아 Github에서는 더 많은 콘텐츠를 볼 수 https://github.com/godbasin는
환영 놀이터 프런트 엔드 삭제 전선의 측면을 고양이는 이런 내용

추천

출처www.cnblogs.com/dajunjun/p/11710808.html