国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

煦涵說Flow

王偉廷 / 2217人閱讀

摘要:現(xiàn)在已經(jīng)在前端比較流行的等框架中得到使用。今天煦涵就和大家一起來學習以及在實際項目中的使用。安裝這里我們選擇使用,當前你也可以使用如果你對不是很了解,建議你閱讀煦涵說。

Flow是Facebook出品的一個JavaScript代碼的靜態(tài)類型檢查工具,它做了很多處理,使您的代碼更快,更智能,更自信,更好的適應(yīng)性。現(xiàn)在已經(jīng)在前端比較流行的React 、Vue 等框架中得到使用。今天煦涵就和大家一起來學習Flow以及在實際項目中的使用。

Flow 安裝

這里我們選擇使用 yarn,當前你也可以使用 npm, 如果你對 yarn不是很了解,建議你閱讀 煦涵說Yarn。首先我們先初始化一個 flow 項目,安裝完編譯器,然后再安裝 flow

mkdir flow-project
cd flow-project
yarn init

yarn add --dev babel-cli babel-preset-flow babel-preset-es2015

項目根目錄下創(chuàng)建 .babelrc 文件,并增加如下內(nèi)容:

{
    "presets": ["flow", "es2015"]
}

安裝 Flow:

yarn add --dev flow-bin

運行 flow:
需要在根目錄下新建一個 .flowconfig 文件,不然會報找不到該文件錯誤。

yarn run flow
yarn run v0.16.1
$ "/flow-proj/node_modules/.bin/flow" 
Launching Flow server for /flow-proj
Spawned flow server (pid=17242)
Logs will go to /private/tmp/flow/zSvue-workspacezSflow-proj.log
No errors!
?  Done in 2.48s.
Flow 使用

我們先在根目錄下新建src目錄,并新建一個index.js文件。同時在 package.json 文件中增加下面scripts內(nèi)容,以方便我們后期的命令行編譯。
index.js

// @flow
[1,2,3,4].map((item:number, index) => {
    return item * item;
});

package.json

"scripts": {
    "build": "yarn run flow && babel src -d lib"
}

運行 yarn run build, 沒有報錯, 會在生成lib文件目錄,index.js的 flow type 注釋會被 remove 掉,同時進行了箭頭函數(shù)到ES5的轉(zhuǎn)換。
如果我修改上面index.js的代碼:

// @flow
["1",2,3,4].map((item:number, index) => {
    return item * item;
});

運行 yarn run build,會報如下類型檢測錯誤:

yarn run v0.16.1
$ "/flow-proj/node_modules/.bin/flow" 
src/index.js:3
  3: ["1",2,3,4].map((item:number, index) => {
      ^^^ string. This type is incompatible with the expected param type of
  3: ["1",2,3,4].map((item:number, index) => {
                           ^^^^^^ number


Found 1 error
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

更多類型堅持實例不再一一列舉,官網(wǎng)有很多介紹type的例子。

Flow 配置文件

上面提到?jīng)]有配置文件,會報錯,.flowconfig 文件由以下5個部分組成:

[include] --包含的文件或者目錄

[ignore] --忽略的文件或者目錄,支持正則匹配

[libs] --第三方庫支持,項目根目錄下的flow-typed目錄作為庫目錄

[options] --默認鍵值對配置,某些選項可以使用命令行方式重載

[version] --期望使用的Flow版本

流行編輯器插件支持

Visual Studio Code: Flow-Language-Support

Sublime Text:Flow 和 SublimeLinter-flow

更多請參考:https://flow.org/en/docs/edit...

感謝您的閱讀

--eof--

作者[煦涵]
2017年05月20日

下面是「FED實驗室」的微信公眾號二維碼,歡迎長按、掃描關(guān)注:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/83299.html

相關(guān)文章

  • 涵說Babel

    摘要:,下一代編譯器,當前版本,它可以處理的所有新語法,并內(nèi)置了擴展及類型注解支持,如果對不是很了解可以查看實驗室微信公眾號文章煦涵說。 Babel,下一代javascript編譯器,當前版本 v2.4.0 ,它可以處理ES6的所有新語法,并內(nèi)置了React JSX擴展及Flow類型注解支持,如果對Flow不是很了解可以查看FED實驗室微信公眾號文章煦涵說Flow。 Babel與JavaSc...

    lordharrd 評論0 收藏0
  • 涵說JSON

    摘要:對象表示法,是一種數(shù)據(jù)交換格式,能夠在服務(wù)器端交換數(shù)據(jù),年由提出,目的是取代繁瑣笨重的格式。煦涵煦涵煦涵煦涵煦涵參考文檔感謝您的閱讀作者煦涵年月日下面是實驗室的微信公眾號二維碼,歡迎長按掃描關(guān)注 JSON(Javascript Object Notaion, javascript 對象表示法), 是一種數(shù)據(jù)交換格式,能夠在服務(wù)器端交換數(shù)據(jù), 2001年由Douglas Crockfor...

    lowett 評論0 收藏0
  • 涵說Yarn

    摘要:是一個新的包管理器,它由開發(fā)者共同開發(fā)完成。從包管理器中借鑒,創(chuàng)建了文件,用來記錄項目使用每個包的確切版本。感謝您的閱讀作者煦涵年月日下面是實驗室的微信公眾號二維碼,歡迎長按掃描關(guān)注 Yarn是一個新的Javascript包管理器,它由Facebook, Google, Exponent and Tilde開發(fā)者共同開發(fā)完成。Yarn 不是 NPM 的fork版本,而是它的重新設(shè)計,Y...

    pkhope 評論0 收藏0
  • 涵說Webpack-IE低版本兼容指南

    摘要:,是一個前端資源加載打包工具,現(xiàn)在版本已經(jīng)到,今天的文章不支持介紹的及使用,而是對最近項目開發(fā)中使用打包時處理低版本及以下瀏覽器兼容問題做一次總結(jié)。 Webpack,Webpack 是一個前端資源加載/打包工具,現(xiàn)在版本已經(jīng) release 到 v2.6.1,今天的文章不支持介紹Webpack的API及使用,而是對最近項目開發(fā)中使用Webpack打包時處理IE低版本(IE8及以下)瀏覽...

    tanglijun 評論0 收藏0
  • flow從零開始----安裝和配置

    摘要:資源官網(wǎng)安裝參考什么是是一個弱類型的解釋性語言,無法在編譯環(huán)節(jié)進行靜態(tài)類型校驗,如果想也具備靜態(tài)類型檢查功能。那就得使用到由推出,官網(wǎng)是。 資源 官網(wǎng):https://flow.org/ 安裝:https://flow.org/en/docs/inst... 參考:https://www.01hai.com/note/av... https://www.jianshu.com/p...

    KoreyLee 評論0 收藏0

發(fā)表評論

0條評論

王偉廷

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<