欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Create?react?app修改webapck配置導(dǎo)入文件alias

 更新時(shí)間:2023年12月25日 14:21:23   作者:chenqy9  
這篇文章主要為大家介紹了Create?react?app修改webapck配置導(dǎo)入文件alias,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

create react app

create-react-app是 react 的官方項(xiàng)目腳手架,可以幫我們快速的搭建一個(gè) react 項(xiàng)目。了解 vue 的同學(xué)應(yīng)該知道,vue的官方腳手架是默認(rèn)支持@src的絕對(duì)路徑引用,可以優(yōu)雅高效的引用其它模塊,特別是跨目錄,深嵌套的引用。而且vue把webpack的配置文件暴露出來,可以很方便的對(duì)webapck進(jìn)行個(gè)性化的配置修改。

相比之下,create react app生成的項(xiàng)目,默認(rèn)還是用相對(duì)路徑的引入,而且把webpack的配置深度集成到腳本里面,如果需要個(gè)性化的修改配置,只能通過react-scripts eject來導(dǎo)出wenpack配置,而且修改之后就只能自己維護(hù)了,一些我們不需要修改的react官方默認(rèn)配置可能就會(huì)丟失。我們可以通過以下兩個(gè)插件來優(yōu)雅的修改create react app生成的項(xiàng)目配置,以修改導(dǎo)入路徑alias為例說明。

react app rewired

react-app-rewired

  • 安裝插件
npm install react-app-rewired --save-dev
  • 創(chuàng)建 config-overrides.js
/* config-overrides.js */
const path = require('path');
module.exports = {
  webpack: function(config, env) {
    config.resolve.alias['@'] = path.resolve(__dirname, 'src');
    return config;
  },
  jest: function(config) {
    const {
      moduleNameMapper = {},
    } = config;
    config.moduleNameMapper = {
      ...moduleNameMapper,
      '^@/(.*)$': '<rootDir>/src/$1',
    };
    return config;
  }
}
  • 修改 react-scripts 的默認(rèn)npm腳本
/* package.json */

"scripts": {
   "start": "react-app-rewired start",
   "build": "react-app-rewired build",
   "test": "react-app-rewired test",
   "eject": "react-scripts eject"
}

@craco/craco

@craco/craco

  • 安裝
npm i -D @craco/craco
  • 創(chuàng)建 craco-config.js 文件
const path = require('path');
module.exports = {
  webpack: {
    configure: (webpackConfig) => {
      webpackConfig.resolve.alias['@'] = path.resolve(__dirname, 'src');
      return webpackConfig;
    },
  },
  jest: {
    configure: (jestConfig) => {
      const {
        moduleNameMapper = {},
      } = jestConfig;
      jestConfig.moduleNameMapper = {
        ...moduleNameMapper,
        '^@/(.*)$': '<rootDir>/src/$1',
      };
      return jestConfig;
    },
  }
};
  • 修改 react-scripts 的默認(rèn)npm腳本
/* package.json */

"scripts": {
   "start": "craco start",
   "build": "craco build",
   "test": "craco test",
   "eject": "react-scripts eject"
}

總結(jié)

我們可以通過 react-app-rewired 和 @craco/craco 兩個(gè)插件優(yōu)雅的修改 create-react-app 生成的項(xiàng)目配置。兩個(gè)插件的使用方法都差不多,也都可以實(shí)現(xiàn)我們的需求,至于使用哪一個(gè)見仁見智。我建議是用@craco/craco,比較新,react-app-rewired最后的更新已經(jīng)是兩年前了。

以上就是Create react app修改webapck配置導(dǎo)入文件alias的詳細(xì)內(nèi)容,更多關(guān)于Create react app修改webapck的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • ReactNative 之FlatList使用及踩坑封裝總結(jié)

    ReactNative 之FlatList使用及踩坑封裝總結(jié)

    本篇文章主要介紹了ReactNative 之FlatList使用及踩坑封裝總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • JavaScript的React框架中的JSX語法學(xué)習(xí)入門教程

    JavaScript的React框架中的JSX語法學(xué)習(xí)入門教程

    這篇文章主要介紹了JavaScript的React框架中的JSX語法學(xué)習(xí)入門教程,React是由Facebook開發(fā)并開源的高人氣js框架,需要的朋友可以參考下
    2016-03-03
  • 基于react封裝一個(gè)通用可編輯組件

    基于react封裝一個(gè)通用可編輯組件

    前段時(shí)間接到這樣一個(gè)需求,需要封裝一個(gè)組件實(shí)現(xiàn)可編輯,這個(gè)到底有多通用呢,就是需要在普通的文字展示包括表格,列表等等,所以本文將給大家介紹如何基于react封裝一個(gè)通用可編輯組件,需要的朋友可以參考下
    2024-02-02
  • 詳解Ref在React中的交叉用法

    詳解Ref在React中的交叉用法

    眾所周知,react推出了hooks之后,很多項(xiàng)目就開始往hooks上靠攏,所以也就出現(xiàn)了class和hooks交叉使用的項(xiàng)目。這個(gè)時(shí)候使用ref需要注意一些東西
    2021-06-06
  • React中實(shí)現(xiàn)防抖功能的兩種方式小結(jié)

    React中實(shí)現(xiàn)防抖功能的兩種方式小結(jié)

    這篇文章主要介紹了React中實(shí)現(xiàn)防抖功能的兩種方式小結(jié),具有很好的 參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Ant?Design?組件庫(kù)之步驟條實(shí)現(xiàn)

    Ant?Design?組件庫(kù)之步驟條實(shí)現(xiàn)

    這篇文章主要為大家介紹了Ant?Design組件庫(kù)之步驟條實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • React?Native系列之Recyclerlistview使用詳解

    React?Native系列之Recyclerlistview使用詳解

    這篇文章主要為大家介紹了React?Native系列之Recyclerlistview使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • React手稿之 React-Saga的詳解

    React手稿之 React-Saga的詳解

    這篇文章主要介紹了React手稿之 React-Saga的詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • React狀態(tài)提升案例介紹

    React狀態(tài)提升案例介紹

    這篇文章主要介紹了React狀態(tài)提升案例,所謂 狀態(tài)提升 就是將各個(gè)子組件的 公共state 提升到它們的父組件進(jìn)行統(tǒng)一存儲(chǔ)、處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-04-04
  • 詳解react-webpack2-熱模塊替換[HMR]

    詳解react-webpack2-熱模塊替換[HMR]

    這篇文章主要介紹了詳解react-webpack2-熱模塊替換[HMR], 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08

最新評(píng)論