需求:
进程:
npx create-react-app my-app//如果是yarn 安装
create-react-app my-app
"react": "16.4.1",
"react-dom": "16.4.1",
//移除
npm uninstall react-scripts//安装1.x 的比较稳定的版本
npm i react-scripts@1.x -S
import 'core-js/es'
import "core-js/stable";
import 'core-js/es/map';
import 'core-js/es/set';
import 'react-app-polyfill/ie9'
import 'react-app-polyfill/stable'import React from "react";
import ReactDOM from "react-dom";
yarn add ts-loader@3.5.0
yarn add typescript@2.9.2
, 需要修改 webpack.config.dev.js 文件的 module.rules 在onOf 下加上一项 {test: /\.(ts|tsx)$/,include: paths.appSrc,use: [{loader: require.resolve('ts-loader'),options: {// disable type checker - we will use it in fork plugintranspileOnly: true,},},],},
extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx', '.web.ts', '.ts', '.web.tsx', '.tsx']
yarn add less@3.0.4
,less-loader, yarn add less-loader@4.1.0
修改module.rules 在onOf 下在css 前加上一项 {test: /\.less$/,use: [require.resolve('style-loader'),{loader: require.resolve('css-loader'),options: {importLoaders: 1,},},{loader: require.resolve('less-loader'),options: {importLoaders: 1,javascriptEnabled: true,}}]}
// 下面两行是antd 的css 样式文件
yarn add axios@0.17.1
之上的只兼容ie11以上的浏览器{"name": "plugin","version": "0.1.0","private": true,"dependencies": {"@babel/polyfill": "^7.12.1","antd": "2.13.11","autoprefixer": "7.1.6","axios": "0.17.1","babel-core": "6.26.0","babel-eslint": "7.2.3","babel-jest": "20.0.3","babel-loader": "7.1.2","babel-polyfill": "^6.26.0","babel-preset-react-app": "^3.1.2","babel-runtime": "6.26.0","case-sensitive-paths-webpack-plugin": "2.1.1","chalk": "1.1.3","core-js": "3","crypto-js": "3.3.0","css-loader": "0.28.7","dotenv": "4.0.0","dotenv-expand": "4.2.0","es3ify-loader": "^0.2.0","eslint": "4.10.0","eslint-config-react-app": "^2.1.0","eslint-loader": "1.9.0","eslint-plugin-flowtype": "2.39.1","eslint-plugin-import": "2.8.0","eslint-plugin-jsx-a11y": "5.1.1","eslint-plugin-react": "7.4.0","extract-text-webpack-plugin": "3.0.2","file-loader": "1.1.5","fs-extra": "3.0.1","html-webpack-plugin": "2.29.0","jest": "20.0.4","less-loader": "4.1.0","object-assign": "4.1.1","postcss-flexbugs-fixes": "3.2.0","postcss-loader": "2.0.8","promise": "8.0.1","raf": "3.4.0","react": "16.4.1","react-app-polyfill": "^3.0.0","react-dev-utils": "^5.0.2","react-dom": "16.4.1","reqwest": "2.0.5","resolve": "1.6.0","style-loader": "0.19.0","sw-precache-webpack-plugin": "0.11.4","ts-loader": "3.5.0","typescript": "2.9.2","uglifyjs-webpack-plugin": "^2.2.0","url-loader": "0.6.2","webpack": "3.8.1","webpack-dev-server": "2.11.3","webpack-manifest-plugin": "1.3.2","whatwg-fetch": "2.0.3"},"scripts": {"start": "node scripts/start.js","build": "node scripts/build.js","test": "node scripts/test.js"},"eslintConfig": {"extends": "react-app"},"jest": {"collectCoverageFrom": ["src/**/*.{js,jsx,mjs}"],"setupFiles": ["/config/polyfills.js"],"setupTestFrameworkScriptFile": "/src/setupTests.js","testMatch": ["/src/**/__tests__/**/*.{js,jsx,mjs}","/src/**/?(*.)(spec|test).{js,jsx,mjs}"],"testEnvironment": "node","testURL": "http://localhost","transform": {"^.+\\.(js|jsx|mjs)$": "/node_modules/babel-jest","^.+\\.css$": "/config/jest/cssTransform.js","^(?!.*\\.(js|jsx|mjs|css|json)$)": "/config/jest/fileTransform.js"},"transformIgnorePatterns": ["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"],"moduleNameMapper": {"^react-native$": "react-native-web"},"moduleFileExtensions": ["web.js","js","json","web.jsx","jsx","node","mjs"]},"babel": {"presets": ["react-app"]}
}