国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

React 配置別名 @ ( js/ts 項(xiàng)目中通過 webpack.config.js 配置)

這篇具有很好參考價(jià)值的文章主要介紹了React 配置別名 @ ( js/ts 項(xiàng)目中通過 webpack.config.js 配置)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、簡(jiǎn)介

  • Vue 項(xiàng)目當(dāng)中,可以使用?@?來表示?src/,但在 React 項(xiàng)目中,默認(rèn)卻沒有該功能,因此需要進(jìn)行手動(dòng)的配置來實(shí)現(xiàn)該功能。

    別名主要解決的問題:每個(gè)頁面都使用路徑的方式進(jìn)行引入,這樣很麻煩,效率很低,這個(gè)時(shí)候可以配置一個(gè)別名,來直接使用別名引入。

  • 使用 @craco/craco 可以在不釋放 React 隱藏配置($ npm run eject)的情況下就能配置好別名,參考文章。文章來源地址http://www.zghlxwxcb.cn/news/detail-701924.html

二、js + react 項(xiàng)目

// 第一步:釋放 React 項(xiàng)目的配置文件,如果已經(jīng)釋放,則省略此步
// 注意:這里也可以不用釋放,安裝某些庫(kù)來實(shí)現(xiàn)部分修改配置,看個(gè)人需要
$ npm run eject

// 第二步:找到 webpack.config.js 文件
// 找到 resolve 下的 alias 配置項(xiàng),添加以下兩行配置:
resolve: {
  // 配置別名
  alias: {
    // 自定義別名
    "@": paths.appSrc,
    "HOOkS": path.resolve(paths.appSrc, "hooks/index"),
    
    // ....其他的一些配置
  }
}

// 第三步:創(chuàng)建相關(guān)測(cè)試文件
// 在 src 目錄下,創(chuàng)建一個(gè) hooks 目錄,里面創(chuàng)建一個(gè) index.js
// index.js 當(dāng)中,分別暴露兩個(gè)函數(shù):
// export function test1(){ console.log(111); }
// export function test2(){ console.log(222); }

// 第四步:?jiǎn)?dòng)項(xiàng)目并使用
// 以下兩種導(dǎo)入方式都可以成功進(jìn)行導(dǎo)入
import { test1, test2 } from "@/hooks/index";
import { test1, test2 } from "HOOkS";

test1();
test2();

三、ts + react 項(xiàng)目

// 第一步:釋放 React 項(xiàng)目的配置文件,如果已經(jīng)釋放,則省略此步
// 注意:這里也可以不用釋放,安裝某些庫(kù)來實(shí)現(xiàn)部分修改配置,看個(gè)人需要
$ npm run eject

// 第二步:找到 webpack.config.js 文件
// 找到 resolve 下的 alias 配置項(xiàng),添加以下配置:
resolve: {
  // 配置別名
  alias: {
    // 自定義別名
    "@": paths.appSrc,
    "interface": ["src/interface"],
    "api": path.resolve(paths.appSrc, "api"),
    "utils": path.resolve(paths.appSrc, "utils"),

    // ....其他的一些配置
  }
}

// 第三步:在項(xiàng)目根路徑下創(chuàng)建:paths.json 文件,內(nèi)容如下所示:
// 這里單獨(dú)創(chuàng)建一個(gè) paths.json 文件,是為了跟 tsconfig.json 原始文件區(qū)分開,如果不需要區(qū)分開也可以直接在 tsconfig.json 中進(jìn)行追加。
// baseUrl 設(shè)置為 ./ 也就是設(shè)置為了基于 tsconfig.json 的 ./
// paths當(dāng)中的配置,都是基于baseUrl的
// "api/*": ["src/api/*"]
// 代表遇到 import {} from "api/*" 時(shí),就從 src/api/* 中引入
// 這里的規(guī)則可以參考 TS 的文檔:https://www.tslang.cn/docs/handbook/module-resolution.html
{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"],
      "interface": ["src/interface"],
      "api/*": ["src/api/*"],
      "utils/*": ["src/utils/*"]
    }
  }
}

// 第四步:在項(xiàng)目根路徑下的 tsconfig.json 當(dāng)中添加以下代碼:
// 即往 compilerOptions 當(dāng)中添加:"extends": "./paths.json"
{
  "compilerOptions": {
    "extends": "./paths.json"
  }
}

// 第五步:創(chuàng)建以下目錄和文件
// src/api/rights.ts
// src/utils/menuUtils.ts
// src/interface/index.ts

// 第六步:使用
// 注意:(getMenuList、filterMenuForRender、menuItemInterface是對(duì)應(yīng)文件當(dāng)中導(dǎo)出的內(nèi)容,這里就是根據(jù)個(gè)人情況進(jìn)行導(dǎo)出)
import { getMenuList } from "api/rights";
import { filterMenuForRender } from "utils/menuUtils";
import { menuItemInterface } from "interface";

到了這里,關(guān)于React 配置別名 @ ( js/ts 項(xiàng)目中通過 webpack.config.js 配置)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何解決創(chuàng)建vue項(xiàng)目后沒有webpack.config.js(vue.config.js)文件

    如何解決創(chuàng)建vue項(xiàng)目后沒有webpack.config.js(vue.config.js)文件

    ?? webpack.config.js文件沒有的原因 Vue 項(xiàng)目中 vue.config.js 文件就等同于 webpack 的 webpack.config.js。 vue-cli3 之后創(chuàng)建的時(shí)候并不會(huì)自動(dòng)創(chuàng)建 vue.config.js,因?yàn)檫@個(gè)是個(gè)可選項(xiàng),所以一般都是需要修改 webpack 的時(shí)候才會(huì)自己創(chuàng)建一個(gè) vue.config.js。 vue-cil3之后創(chuàng)建項(xiàng)目后的目錄結(jié)構(gòu)如下

    2024年02月04日
    瀏覽(95)
  • vue.config.js配置報(bào)錯(cuò)——可能是與webpack混淆

    配置vue.config.js時(shí),報(bào)錯(cuò)信息 “Invalid options in vue.config.js: ‘module’ is not allowed” ,表示在 vue.config.js 文件中不允許直接配置 module 選項(xiàng)。 在 Vue CLI 3 及以上版本中, vue.config.js 是用于配置 Vue 項(xiàng)目的文件,但是它只允許配置特定的選項(xiàng),而不是所有的 Webpack 配置選項(xiàng)。其中,

    2024年02月09日
    瀏覽(22)
  • 解決:項(xiàng)目名@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`錯(cuò)誤

    解決:項(xiàng)目名@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`錯(cuò)誤

    當(dāng)我們?cè)趃ithup/gitee下載前端的項(xiàng)目的時(shí)候,很多在自己的電腦運(yùn)行,可能會(huì)爆這個(gè)錯(cuò)誤,解決方案是: 第一步:先把這兩個(gè)文件刪掉 第二步:清理緩存 在項(xiàng)目文件目錄下運(yùn)行這個(gè)命令(在終端運(yùn)行): npm cache clean --force 第三步:安裝項(xiàng)目所需的所有依賴項(xiàng) npm install 第四步

    2024年02月08日
    瀏覽(25)
  • webpack.config.js配置文件報(bào)錯(cuò):The ‘mode‘ option has not been set

    報(bào)錯(cuò) WARNING in configuration The \\\'mode\\\' option has not been set, webpack will fallback to \\\'production\\\' for this value. Set \\\'mode\\\' option to \\\'development\\\' or \\\'production\\\' to enable defaults for each environment. You can also set it to \\\'none\\\' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/ 解決: 在package.json文件

    2024年01月20日
    瀏覽(27)
  • 使用vite創(chuàng)建Vue/React前端項(xiàng)目,配置@別名和Sass樣式,又快又方便

    使用vite創(chuàng)建Vue/React前端項(xiàng)目,配置@別名和Sass樣式,又快又方便

    Vite官方網(wǎng)站:Vite | 下一代的前端工具鏈? Vite 并不是基于 Webpack 的,它有自己的開發(fā)服務(wù)器,利用瀏覽器中的原生 ES 模塊。這種架構(gòu)使得 Vite 比 Webpack 的開發(fā)服務(wù)器快了好幾個(gè)數(shù)量級(jí)。Vite 采用 Rollup 進(jìn)行構(gòu)建,速度也更快。? 兼容性注意 Vite 需要?Node.js?版本 14.18+,16+。然

    2024年02月14日
    瀏覽(50)
  • 【React】TS項(xiàng)目配置Redux

    【React】TS項(xiàng)目配置Redux

    在React中使用Redux,官方要求安裝兩個(gè)插件, Redux Toolkit 和 react-redux Redux Toolkit (RTK): 官方推薦編寫Redux邏輯的方式,是一套工具的集合集, 簡(jiǎn)化書寫方式 。 簡(jiǎn)化 store 的配置方式 內(nèi)置 immer 支持可變式狀態(tài)修改 內(nèi)置 thunk 更好的異步創(chuàng)建 react-redux :用來 鏈接 Redux 和 React組

    2024年01月22日
    瀏覽(27)
  • 配置Vite+React+TS項(xiàng)目

    執(zhí)行 npm create vite 并填寫項(xiàng)目名、用那個(gè)框架。。 路徑別名 在 vite.config.ts 里面配置: 如果開發(fā)環(huán)境是ts,會(huì)提示如找不到path或找不到__dirname等,需要先安裝一下node的類型聲明文件: npm i -D @types/node 然后去修改根目錄的 tsconfig.json 文件,不然你使用路徑別名引入組件的時(shí)候會(huì)

    2024年02月21日
    瀏覽(26)
  • 【實(shí)戰(zhàn)】 TS 應(yīng)用:JS神助攻 - 強(qiáng)類型 —— React17+React Hook+TS4 最佳實(shí)踐,仿 Jira 企業(yè)級(jí)項(xiàng)目(三)

    學(xué)習(xí)內(nèi)容來源:React + React Hook + TS 最佳實(shí)踐-慕課網(wǎng) 相對(duì)原教程,我在學(xué)習(xí)開始時(shí)(2023.03)采用的是當(dāng)前最新版本: 項(xiàng) 版本 react react-dom ^18.2.0 react-router react-router-dom ^6.11.2 antd ^4.24.8 @commitlint/cli @commitlint/config-conventional ^17.4.4 eslint-config-prettier ^8.6.0 husky ^8.0.3 lint-staged ^13.1.2 p

    2024年02月09日
    瀏覽(26)
  • 【實(shí)戰(zhàn)】三、TS 應(yīng)用:JS神助攻 - 強(qiáng)類型 —— React17+React Hook+TS4 最佳實(shí)踐,仿 Jira 企業(yè)級(jí)項(xiàng)目(三)

    學(xué)習(xí)內(nèi)容來源:React + React Hook + TS 最佳實(shí)踐-慕課網(wǎng) 相對(duì)原教程,我在學(xué)習(xí)開始時(shí)(2023.03)采用的是當(dāng)前最新版本: 項(xiàng) 版本 react react-dom ^18.2.0 react-router react-router-dom ^6.11.2 antd ^4.24.8 @commitlint/cli @commitlint/config-conventional ^17.4.4 eslint-config-prettier ^8.6.0 husky ^8.0.3 lint-staged ^13.1.2 p

    2024年02月11日
    瀏覽(33)
  • react+ts【項(xiàng)目實(shí)戰(zhàn)一】配置項(xiàng)目/路由/redux

    react+ts【項(xiàng)目實(shí)戰(zhàn)一】配置項(xiàng)目/路由/redux

    1、該項(xiàng)目使用的是ts創(chuàng)建的 所以需要加上 --template typescript create-react-app kiki_ts_react_music --template typescript 2、 整理項(xiàng)目結(jié)構(gòu) 刪除一些自己用不到的文件 1.2.1 更換icon 1.2.2 更換項(xiàng)目名稱 在index.html文件里面 1.2.1 配置項(xiàng)目別名 1、 npm i -D @craco/craco 2、在根文件創(chuàng)建 craco.config.ts 3、修

    2024年02月19日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包