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

資訊專欄INFORMATION COLUMN

react學(xué)習(xí)日記第一記-webpack配置

zhkai / 991人閱讀

摘要:對于前端開發(fā)者來說,無論使用還是還是,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。所以自己就動手嘗試配置一下。

對于前端開發(fā)者來說,無論使用vue 還是react還是angular,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。

由于之前的項(xiàng)目一直都是在使用vue,對于vue的webpack(3.x)配置坑也踩的差不多了,正好公司不忙,可以抽空學(xué)習(xí)下react,接下來直接進(jìn)入正題吧

一、搭建react開發(fā)環(huán)境

俗話說:‘工欲善其事,必先利其器’,作為才接畢業(yè)半年的小白來說,在工作中深刻的體會到開發(fā)工作對工具使用的重要性。
1、首先運(yùn)行環(huán)境-node是必須的,需要下載安裝node的運(yùn)行環(huán)境,官網(wǎng)下載即可點(diǎn)擊[打開連接][1]
2、安裝好node后,npm也自動安裝好了,npm是隨從nodeJs的包管理工具,當(dāng)然也可使用yarn,本文使用的是npm
3、全局安裝腳手架`npm install -g create-react-app`注意,用習(xí)慣vue的可能有點(diǎn)不太習(xí)慣這種方式,這來源于兩個框架的設(shè)計(jì)思維不一樣(vue的安裝方式`npm install -g vue-cli`)個人見解,不喜勿噴。
4、創(chuàng)建項(xiàng)目:在文件夾下執(zhí)行`create-react-app myFirstReact`
5、啟動項(xiàng)目:`npm start`
至此,我們的第一個react項(xiàng)目就搭建完成了


二、解壓webpack
你會發(fā)現(xiàn)這時候創(chuàng)建的文件目錄和vue大不一樣,vue的build里面包含了webpack.base、webpack.dev、webpack.prod三個配置webpack的基礎(chǔ)文件,而react并沒有build文件,只是因?yàn)閞eact隱藏了webpack的配置文件
所以我們需要在命令控制臺執(zhí)行npm run eject
執(zhí)行完之后,webpack文件被暴露出來。注意:此操作不可逆
解壓出來的文件目錄如下:

接下來我們就需要配置相關(guān)的webpack

三,去掉map

  {
              test: /.(js|mjs)$/,
              exclude: /@babel(?:/|{1,2})runtime/,
              loader: require.resolve("babel-loader"),
              options: {
                babelrc: false,
                configFile: false,
                compact: false,
                presets: [
                  [
                    require.resolve("babel-preset-react-app/dependencies"),
                    { helpers: true }
                  ]
                ],
                cacheDirectory: true,
                cacheCompression: isEnvProduction,

                // If an error happens in a package, it"s possible to be
                // because it was compiled. Thus, we don"t want the browser
                // debugger to show the original code. Instead, the code
                // being evaluated would be much more helpful.
                sourceMaps: false
              }
            },

將 sourceMaps改為false。打包出來的文件就沒有了map

 const publicPath = isEnvProduction
    ? paths.servedPath
    : isEnvDevelopment && "/";
  // Some apps do not use client-side routing with pushState.
  // For these, "homepage" can be set to "." to enable relative asset paths.
  const shouldUseRelativeAssetPaths = publicPath === "./";

將路徑改為相對路徑"./"
如何使用@去取代相對路徑呢?

  alias: {
        // Support React Native Web
        // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
        "react-native": "react-native-web",
        "@": path.join(__dirname, "..", "src") //使用@符號做相對路徑處理
      },

在alias里面加入 "@": path.join(__dirname, "..", "src") //使用@符號做相對路徑處理

四、使用stylus

因?yàn)橹笆褂胿ue的時候就很喜歡stylus,相比less和scss,stylus更容易上手。
但是在react的wbpack4.0+版本中如何配置和在項(xiàng)目中使用stylus呢?
起初,我以在vue中webpack3.0+的項(xiàng)目中配置,發(fā)現(xiàn)根本就不是那么回事,后來去網(wǎng)上找類似的Blog,也沒有,幾乎全部都是舊的react腳手架和將webpack基礎(chǔ)配置文件分開的,全部不是我想要的。所以自己就動手嘗試配置一下。
`{

      // "oneOf" will traverse all following loaders until one will
      // match the requirements. When no loader matches it will fall
      // back to the "file" loader at the end of the loader list.
      oneOf: [
        // "url" loader works like "file" loader except that it embeds assets
        // smaller than specified limit in bytes as data URLs to avoid requests.
        // A missing `test` is equivalent to a match.
        {
          test: [/.bmp$/, /.gif$/, /.jpe?g$/, /.png$/],
          loader: require.resolve("url-loader"),
          options: {
            limit: 10000,
            name: "static/media/[name].[hash:8].[ext]"
          }
        },
        {
          test: /.styl$/,
          use: [
            require.resolve("style-loader"),
            require.resolve("css-loader"),
            require.resolve("stylus-loader")
          ]
        },`
        
  可以使用vscode的搜索功能搜索oneOf數(shù)組,然后再里面添加`{
          test: /.styl$/,
          use: [
            require.resolve("style-loader"),
            require.resolve("css-loader"),
            require.resolve("stylus-loader")
          ]
        },`
  僅僅配置此處就行了,然后建立css文件的時候要用.styl而不是用.css
  



此處省略了安裝stylus的過程,請自行百度。跟vue的使用是一樣的。
這些基礎(chǔ)的配置到此就結(jié)束就,第一次寫博客,不到之處,錯誤之處還望多多指正。

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

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

相關(guān)文章

  • react學(xué)習(xí)日記一記-webpack配置

    摘要:對于前端開發(fā)者來說,無論使用還是還是,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。所以自己就動手嘗試配置一下。 對于前端開發(fā)者來說,無論使用vue 還是react還是angular,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。 由于之前的項(xiàng)目一直都是在使用vue,對于vue的webpa...

    Shonim 評論0 收藏0
  • react學(xué)習(xí)日記一記-webpack配置

    摘要:對于前端開發(fā)者來說,無論使用還是還是,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。所以自己就動手嘗試配置一下。 對于前端開發(fā)者來說,無論使用vue 還是react還是angular,打包工具的配置永遠(yuǎn)都是一個必須的過程,因?yàn)檫@決定了打包出來項(xiàng)目的大小,資源占用,以及運(yùn)行速度。 由于之前的項(xiàng)目一直都是在使用vue,對于vue的webpa...

    233jl 評論0 收藏0
  • 基于 Laravel 開發(fā) ThinkSNS+ 中前端的抉擇(webpack/Vue)踩坑日記【社交

    摘要:在上一篇文章基于分支,從到,再到,簡單的介紹了這里分享在開發(fā)過程中,前端選擇的心理活動。而作為核心開發(fā)之一,也負(fù)責(zé)前端這塊的開發(fā)。 在上一篇文章《 ThinkSNS+基于Laravel master分支,從1到 0,再到0.1》,簡單的介紹了 ThinkSNS+ ,這里分享在開發(fā)過程中,前端選擇的心理活動。 Laravel Mix的放棄 在 Laravel 中,前端工作流默認(rèn)是由 la...

    songze 評論0 收藏0
  • Vue學(xué)習(xí)日記(一)——Vue介紹

    摘要:的核心庫只關(guān)注視圖層,并且非常容易學(xué)習(xí),非常容易與其它庫或已有項(xiàng)目整合。的目標(biāo)是通過盡可能簡單的實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。并不是框架,只是和他旁邊的生態(tài)環(huán)境組成了一個框架,下面,貼一個官方的漸進(jìn)式框架介紹圖吧,方便理解。 前言 本人學(xué)習(xí)了一段時間的vue,并嘗試寫了一些小Demo之后,將vue投入了幾個項(xiàng)目之后,一直在邊學(xué)習(xí)邊使用,經(jīng)過看了vue,vuex,vue-route...

    王晗 評論0 收藏0

發(fā)表評論

0條評論

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