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

資訊專欄INFORMATION COLUMN

React+Webpack+Eslint+Babel構建React腳手架

jaysun / 1736人閱讀

摘要:注是安裝在生產環境,安裝在開發環境。安裝后,手動創建文件進行定制。配置是語法轉化器,可從學習其用法。配置是一個工具,用來避免低級錯誤和統一代碼的風格。可從注冊使用,很方便。最后貼上自己的,前端小白,歡迎指導。

React+webpack+Eslint+Babel構建React腳手架

參考網上文章,說的不是很全,想自己寫一篇來鞏固知識點,腳手架源碼參考阮一峰老師的Github

所用技術棧

React

Babel

Webpack

Eslint

travis

ES6

構建過程 安裝nodejs 初始化項目:
npm init -y        注:-y的意思是默認安裝
目錄構建

配置package.json

npm初始化后會自動生成

添加:

 "dependencies": {
    "babel-runtime": "6.x",
    "react": "15.x",
    "react-dom": "15.x"
  },
  "devDependencies": {
    "babel-core": "6.x",
    "babel-eslint": "7.x",
    "babel-loader": "6.x",
    "babel-plugin-transform-runtime": "6.x",
    "babel-preset-es2015": "6.x",
    "babel-preset-react": "6.x",
    "babel-preset-stage-0": "6.x",
    "copy-webpack-plugin": "latest",
    "css-loader": "~0.26.1",
    "eslint": "latest",
    "eslint-config-airbnb": "latest",
    "eslint-formatter-pretty": "^1.1.0",
    "eslint-plugin-compat": "^1.0.0",
    "eslint-plugin-import": "latest",
    "eslint-plugin-jsx-a11y": "3.x",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-react": "latest",
    "open-browser-webpack-plugin": "0.0.3",
    "style-loader": "~0.13.1",
    "webpack": "1.x",
    "webpack-dev-server": "1.x"
  }

或者在命令行中使用安裝命令,加深印象。注:-S是安裝在生產環境,-D安裝在開發環境。

//安裝react
npm install react -S
npm install react-dom -S

//減少打包的時候重復代碼
npm install babel-runtime  -S
npm install babel-plugin-transform-runtime -D

//安裝babel相關
npm install babel-loader -D //安裝babel-loader
npm install babel-core -D //安裝babel核心
npm install babel-preset-es2015 -D //支持ES2015
npm install babel-preset-react -D  //支持jsx
npm install babel-preset-stage-0 -D //支持ES7
npm install babel-eslint -D 

//安裝webpack
npm install webpack -D //模塊管理和打包工具
npm install webpack-dev-server -D //監聽代碼自動刷新

//安裝Eslint相關
npm install eslint -D
npm install eslint-config-airbnb -D
npm install eslint-formatter-pretty -D
npm install eslint-plugin-compat -D
npm install eslint-plugin-import -D
npm install eslint-plugin-jsx-a11y -D
npm install eslint-plugin-promise -D
npm install eslint-plugin-react -D
配置webpack.config.js

Webpack將項目中的所有靜態資源都當做模塊,模塊之間可以互相依賴,由webpack對它們進行統一的管理和打包發布。

安裝webpack后,手動創建文件進行定制。

webpack.production.config.js與之類似。

const webpack = require("webpack");
const path = require("path");
const OpenBrowserPlugin = require("open-browser-webpack-plugin");

module.exports = {
  devServer: {
    historyApiFallback: true,
    hot: true,
    inline: true,
    progress: true,
    contentBase: "./app",
    port: 8080
  },
  entry: [
    "webpack/hot/dev-server",
    "webpack-dev-server/client?http://localhost:8080",
    path.resolve(__dirname, "app/main.jsx")
  ],
  output: {
    path: path.resolve(__dirname, "build"),
    publicPath: "/",
    filename: "./bundle.js"
  },
  module: {
    loaders: [
      { test: /.css$/, include: path.resolve(__dirname, "app"), loader: "style-loader!css-loader" },
      { test: /.js[x]?$/, include: path.resolve(__dirname, "app"), exclude: /node_modules/, loader: "babel-loader" }
    ]
  },
  resolve: {
    extensions: ["", ".js", ".jsx"]
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new OpenBrowserPlugin({ url: "http://localhost:8080" })
  ]
};

配置.babelrc

babel是ES2015 語法轉化器,可從Babel學習其用法。

安裝babel后,手動創建進行配置。

{
  "presets": [ "es2015", "stage-0", "react"],
  "env": {
    "build": {
      "optional": ["optimisation", "minification"]
    }
  }
}
配置.eslintrc

ESLint是一個QA工具,用來避免低級錯誤和統一代碼的風格。

安裝eslint后,手動創建進行配置。

{
  "parser": "babel-eslint",
  "extends": "airbnb",
  "env": {
    "browser": true,
    "node": true
  },
  "parserOptions": {
     "ecmaVersion": 6,
     "sourceType": "module",
     "ecmaFeatures": {
       "jsx": true
     }
  },
  "globals": {
    "window": true,
    "document": true
  },
  "rules": {
    "arrow-parens": 0,
    "class-methods-use-this": 0,
    "compat/compat": 2,
    "comma-dangle": 0,
    "consistent-return": 2,
    "func-names": 2,
    "generator-star-spacing": [0],
    "import/no-extraneous-dependencies": ["off"],
    "import/extensions": 0,
    "import/no-unresolved": 2,
    "new-cap": 0,
    "no-implicit-coercion": "error",
    "no-mixed-operators": 0,
    "no-plusplus": 0,
    "no-use-before-define": 0,
    "no-nested-ternary": 0,
    "no-underscore-dangle": 0,
    "no-var": "error",
    "semi": ["error", "always"],
    "promise/param-names": 2,
    "promise/always-return": 2,
    "promise/catch-or-return": 2,
    "promise/no-native": 0
  },
  "plugins": [
    "compat",
    "import",
    "promise"
  ]
}

配置.travis.yml

Travis Ci是一個基于云的持續集成項目,目前已經支持大部分主流語言了,如:C、PHP、Ruby、Python、Nodejs、Java、Objective-C等等,Travis Ci與Github集成非常緊密,官方的集成測試托管只支持Github項目,不過你也可以通過Travis Ci開源項目搭建一套屬于自己的方案。

可從Travis注冊使用,很方便。

sudo: false

language: node_js
node_js:
  - "node"
  

最后貼上自己的Github,前端小白,歡迎指導。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83933.html

相關文章

  • webpack工程化集成React技術棧(一)

    項目開始前,我們先聊一聊關于項目的一些說明。該項目起始于2017年初,當時公司主要技術棧為gulp+angular,鑒于react的火熱的生態,在公司決定研發bss管理系統時選用react開發,目的也是為react native打下基礎,以解決后期公司大前端技術棧的逐步成熟。(當時沒有選擇vue開發的主要原因是weex生態還不夠特別成熟),既然決定換新,項目的構建也跟著一起換,從gulp轉向火熱的...

    tianhang 評論0 收藏0
  • react+webpack+webstorm開發環境搭建

    摘要:先是基礎知識,首先是補了的基礎,使用了的入門教程。另外關于,慕課的視頻教程講的也比較清晰,適合入門統統過了一遍之后,開始建立腳手架,正式上馬編寫。廢話不多說了,下面一步一步開始了。安裝完成之后,記得設置路徑構建項目使用新建一個空白項目。 前言 春節期間,更新了一下自己關于前端的知識體系,要知道對于前端技術,我還是停留在JSP,JQUERY的時代,現在項目里面使用REACT作為前臺,所以...

    Snailclimb 評論0 收藏0
  • 如何搭建一個基于react、webpack4、babel7的項目(一)

    摘要:對的工作流程有點模糊,以及據官方文檔稱的升級,性能得到了極大的提升,而還是用的,于是決定從頭開始搭建一個適合團隊的腳手架。保證各文件獲得一致的文件編碼和縮進效果。這些在后面文章中,都會一個個涉及到,此處不做詳細展開。 前言 寫前端項目這么久了,以前用的 dva 框架,后來用過 create-react-app 框架,都需要針對團隊做一些定制化的修改。對 webpack 的工作流程有點模...

    IamDLY 評論0 收藏0
  • react-start到co源碼(一)

    摘要:安裝這個預設主要包含了如下兩個插件實現熱加載捕獲中的方法并展現在界面上修改上述的文件文件通過上面的幾個步驟我們就大致完成了開發環境的基本搭建。應該在中進行配置以上就是簡單的環境搭建后面會推出后續的文章。 react作為當前十分流行的前端框架,相信很多前端er都有蠢蠢欲動的學習它的想法。工欲善其事,必先利其器。這篇文章就簡單的給大家介紹一下如何我快速的搭建一個react前端開發環境。主要...

    gekylin 評論0 收藏0
  • 從零到一,新建webpack工程

    摘要:指定啟用例如上述代碼,就使用和處理了除了以外的。設置當前的為,同樣這個配置也可以寫在中。設置目錄刪除注釋去除空格去除屬性引號復制靜態目錄將所以可能被請求的靜態文件,分別放在目錄下。結語本次從零到一,新建了一個腳手架。 react-sample-javascript 為了實現一個可定制化高的react工程,我們往往會自己搭建一個react工程。所以本文會從零開始搭建一個react腳手架工...

    Code4App 評論0 收藏0

發表評論

0條評論

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