• React +ts + babel+webpack


    babel 

    @babel/preset-typescript 专门处理ts

    1. "@babel/cli": "^7.17.6",
    2. "@babel/core": "^7.17.8",
    3. "@babel/preset-env": "^7.16.11",
    4. "@babel/preset-react": "^7.16.7",
    5. "@babel/preset-typescript": "^7.16.7",

    ts

    1. "@types/react": "^18.0.15",
    2. "@types/react-dom": "^18.2.11",
    3. "@types/react-redux": "^7.1.27",
    4. "typescript": "^4.8.2"

    webpack z增加tsx解析

    babel.config.json 增加@babel/preset-typescript

    1. {
    2. "presets": [
    3. "@babel/preset-env",
    4. "@babel/preset-react",
    5. "@babel/preset-typescript"
    6. ]
    7. }

    package.json

    1. {
    2. "name": "my-frame",
    3. "version": "0.0.1",
    4. "private": true,
    5. "homepage": "./",
    6. "devDependencies": {
    7. "@babel/cli": "^7.17.6",
    8. "@babel/core": "^7.17.8",
    9. "@babel/preset-env": "^7.16.11",
    10. "@babel/preset-react": "^7.16.7",
    11. "@babel/preset-typescript": "^7.16.7",
    12. "@types/react": "^18.0.15",
    13. "@types/react-dom": "^18.2.11",
    14. "@types/react-redux": "^7.1.27",
    15. "babel-loader": "^8.2.4",
    16. "css-loader": "^6.7.1",
    17. "css-minimizer-webpack-plugin": "^4.0.0",
    18. "file-loader": "^6.2.0",
    19. "html-webpack-plugin": "^5.5.0",
    20. "less-loader": "^10.2.0",
    21. "mini-css-extract-plugin": "^2.6.0",
    22. "pnp-webpack-plugin": "^1.7.0",
    23. "postcss-flexbugs-fixes": "^5.0.2",
    24. "postcss-loader": "^6.2.1",
    25. "postcss-normalize": "^10.0.1",
    26. "postcss-preset-env": "^7.4.3",
    27. "postcss-safe-parser": "^6.0.0",
    28. "resolve-url-loader": "^5.0.0",
    29. "sass": "^1.49.9",
    30. "sass-loader": "^12.6.0",
    31. "sass-resources-loader": "^2.2.4",
    32. "style-loader": "^3.3.1",
    33. "terser-webpack-plugin": "^5.3.1",
    34. "url-loader": "^4.1.1",
    35. "webpack": "^5.70.0",
    36. "webpack-bundle-analyzer": "^4.5.0",
    37. "webpack-cli": "^4.10.0",
    38. "webpack-dev-server": "^4.7.4",
    39. "webpack-manifest-plugin": "^5.0.0",
    40. "webpackbar": "^5.0.2",
    41. "workbox-webpack-plugin": "^6.5.2"
    42. },
    43. "dependencies": {
    44. "core-js": "^3.21.1",
    45. "moment": "^2.29.1",
    46. "react": "^18.2.0",
    47. "react-dom": "^18.2.0",
    48. "react-router": "^6.3.0",
    49. "react-router-dom": "^6.3.0",
    50. "typescript": "^4.8.2"
    51. },
    52. "scripts": {
    53. "start": "webpack server --mode=development",
    54. "build": "npm run clean && webpack --mode=production",
    55. "clean": "rimraf build/*"
    56. },
    57. "browserslist": [
    58. ">0.2%",
    59. "not dead",
    60. "not ie <= 11",
    61. "not op_mini all"
    62. ],
    63. "eslintConfig": {
    64. "extends": "react-app"
    65. }
    66. }

  • 相关阅读:
    Programming Assignment 3COVID Testing
    淘宝店铺所有商品数据接口
    CSS 常用样式 显示模式
    MYSQLg高级-----SQL注入的理解(初级篇)以及如何防止注入
    在{{}}中拼接字符
    常用 CMD 命令
    OpenGL之纹理过滤(Texture Filtering)、MipMap方法、纹理坐标
    C. Element Extermination
    剪拼子字符串——常规、另类两种算法解CSDN竞赛第八期第一小题
    万亿数据秒级响应,Apache Doris 在360 数科实时数仓中的应用
  • 原文地址:https://blog.csdn.net/qq_33715850/article/details/133706717