react,react-app-rewire和Typescript的绝对路径

塔米罗斯

我正在使用create-react-app+打字稿,我想添加绝对路径。

我试图达到可以使用绝对路径的地步,就像这样:

代替 import x from '../../../components/shell/shell'

使用import x from '@components/shell/shell';

这是tsconfig.json文件:

{
  "extends": "./paths.json",
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "baseUrl": "src",
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react"
  },
  "include": [
    "src"
  ]
}

我使用扩展文件作为路径,因为出于某种原因npm start会覆盖该文件。path.json文件也是如此

{
  "compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "@": ["./src"],
      "@components/*": ["components/*]"
    }
  }
}

我也有一个.env文件:

NODE_PATH=src

我安装react-app-rewire好了,所以我可以配置路径,而我的config-ovverrides.js文件看起来像这样:

module.exports = {
  paths: function(paths, env) {
    // ...add your paths config
    return paths;
  }
};

我坚持连接所有的点,它不起作用,我仍然看不到我需要做什么来配置webpack路径对象;

如何在cra,ts和rewire中实现路径?

古斯塔沃·格雷夫(Gustavo Graeff)

您可以使用解决它5个简单步骤withou弹出

第1步:将react-app-rewired添加到您的中devDependencies

yarn add -D react-app-rewired要么npm intall react-app-rewired --save-dev

第2步:安装后,您将能够将package.json默认的ReactsJS脚本更改为:

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

步骤3tsconfig.paths.json在根路径上创建一个新文件,其内容如下:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "services/*": ["./src/shared/services/*"],
      "interfaces/*": ["./src/shared/interfaces/*"]
    }
  }
}

提示1:您可以选择要使用的路径,例如:@services, @interface, @src, ~, @, etc只需更改其中的键"paths": {}

它的值也是如此:在此处使用相对路径。["src/shared/services/"], ["src/shared/interfaces/"], ["src/*"]

步骤4:进入tsconfig.json,在"compilerOptions"您需要扩展tsconfig.paths.json刚刚创建的之前。

像这样:

{
  "extends": "./tsconfig.paths.json",
  ...//rest of file infos compilerOptions, include... whatever
}

步骤5:创建一个新文件config-overrides.js,在其上添加您的别名和相对路径:

const path = require('path');

module.exports = function override(config) {
  config.resolve = {
    ...config.resolve,
    alias: {
      ...config.alias,
      'services': path.resolve(__dirname, 'src/shared/services'),
      'interfaces': path.resolve(__dirname, 'src/shared/interfaces')
    },
  };

  return config;
};

提示2:如果您使用eslint,请记住拥有一个.eslintignore文件并config-overrides.js在其中添加文件

重新启动您的IDE或文本编辑器(以我的情况为VSCode)。

完成了!现在,只需运行yarn startnpm run start

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Create React App项目中避免很长的路径并使用绝对路径?

来自分类Dev

React Router Link绝对路径

来自分类Dev

create-react-app-typescript 需要 react-app-rewire-mobx 吗?

来自分类Dev

使用React + Webpack时如何使用绝对路径导入自定义的scss?

来自分类Dev

使用React + Webpack时如何使用绝对路径导入自定义scss?

来自分类Dev

使用swift获取OS X中.app包的绝对路径

来自分类Dev

React app中的iframe和App通信

来自分类Dev

Sox绝对路径和管道

来自分类Dev

create-react-app CSS和JS路径

来自分类Dev

结合绝对路径和相对路径

来自分类Dev

React App和后端API最佳做法

来自分类Dev

Promise和create-react-app问题

来自分类Dev

如何使用Create React App和TypeScript启用可选链接

来自分类Dev

create-react-app my-app --typescript与--template typscript

来自分类Dev

React-leaflet 不能使用 create-react-app 和 react 16.8.4

来自分类Dev

App:React.FunctionComponent和App =():React.FunctionComponent有什么区别?

来自分类Dev

npx create-react-app和create-react-app之间的区别

来自分类Dev

Jsoup绝对路径

来自分类Dev

从绝对路径+相对或绝对路径创建新的绝对路径

来自分类Dev

从绝对路径+相对或绝对路径创建新的绝对路径

来自分类Dev

现有网站的子路径中的React App

来自分类Dev

Gulp Mocha和Browserify的绝对路径

来自分类Dev

更正图像路径以在 Express React 前端正确显示图像(create-react-app)

来自分类Dev

'npx create-react-app [name] --template typescript'错误

来自分类Dev

关于使用TypeScript安装Create React App项目的方式

来自分类Dev

创建React App:ESLint配置不适用于Typescript

来自分类Dev

'npx create-react-app [name] --template typescript'错误

来自分类Dev

带有 React.js 的 SSR(create-react-app、react-router v4、redux 和 sagas)

来自分类Dev

backgroundColor和onClick不会在Basic React App中生效React JS

Related 相关文章

  1. 1

    如何在Create React App项目中避免很长的路径并使用绝对路径?

  2. 2

    React Router Link绝对路径

  3. 3

    create-react-app-typescript 需要 react-app-rewire-mobx 吗?

  4. 4

    使用React + Webpack时如何使用绝对路径导入自定义的scss?

  5. 5

    使用React + Webpack时如何使用绝对路径导入自定义scss?

  6. 6

    使用swift获取OS X中.app包的绝对路径

  7. 7

    React app中的iframe和App通信

  8. 8

    Sox绝对路径和管道

  9. 9

    create-react-app CSS和JS路径

  10. 10

    结合绝对路径和相对路径

  11. 11

    React App和后端API最佳做法

  12. 12

    Promise和create-react-app问题

  13. 13

    如何使用Create React App和TypeScript启用可选链接

  14. 14

    create-react-app my-app --typescript与--template typscript

  15. 15

    React-leaflet 不能使用 create-react-app 和 react 16.8.4

  16. 16

    App:React.FunctionComponent和App =():React.FunctionComponent有什么区别?

  17. 17

    npx create-react-app和create-react-app之间的区别

  18. 18

    Jsoup绝对路径

  19. 19

    从绝对路径+相对或绝对路径创建新的绝对路径

  20. 20

    从绝对路径+相对或绝对路径创建新的绝对路径

  21. 21

    现有网站的子路径中的React App

  22. 22

    Gulp Mocha和Browserify的绝对路径

  23. 23

    更正图像路径以在 Express React 前端正确显示图像(create-react-app)

  24. 24

    'npx create-react-app [name] --template typescript'错误

  25. 25

    关于使用TypeScript安装Create React App项目的方式

  26. 26

    创建React App:ESLint配置不适用于Typescript

  27. 27

    'npx create-react-app [name] --template typescript'错误

  28. 28

    带有 React.js 的 SSR(create-react-app、react-router v4、redux 和 sagas)

  29. 29

    backgroundColor和onClick不会在Basic React App中生效React JS

热门标签

归档