Javascript 安装新包react js application时,所有npm包都会被卸载

Javascript 安装新包react js application时,所有npm包都会被卸载,javascript,reactjs,typescript,webpack,Javascript,Reactjs,Typescript,Webpack,我正在为我的reactjs应用程序使用基于typescript的启动工具包。但是,问题是,每次我安装一个新的npm软件包时,所有以前的软件包(显然)都会被卸载,因为我收到一个错误“加载模块失败…”,我必须再次安装它们。我真的很感谢你的帮助。这是我的网页配置: const {resolve} = require('path'); const {CheckerPlugin} = require('awesome-typescript-loader'); const HtmlWebpackPlugin

我正在为我的reactjs应用程序使用基于typescript的启动工具包。但是,问题是,每次我安装一个新的npm软件包时,所有以前的软件包(显然)都会被卸载,因为我收到一个错误“加载模块失败…”,我必须再次安装它们。我真的很感谢你的帮助。这是我的网页配置:

const {resolve} = require('path');
const {CheckerPlugin} = require('awesome-typescript-loader');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.jsx'],
  },
  context: resolve(__dirname, '../../src'),
  module: {
    rules: [
      {
        test: /\.js$/,
        use: ['babel-loader', 'source-map-loader'],
        exclude: /node_modules/,
      },
      {
        test: /\.tsx?$/,
        use: ['babel-loader', 'awesome-typescript-loader'],
      },
      {
        test: /\.css$/,
        use: ['style-loader', { loader: 'css-loader', options: { importLoaders: 1 } }, {
          loader: 'postcss-loader',
          options: {
              postcssOptions: {
                  plugins: ['autoprefixer']
              }
          }
      }],
      },
      {
        test: /\.(scss|sass)$/,
        loaders: [
          'style-loader',
          { loader: 'css-loader', options: { importLoaders: 1 } },
          'sass-loader',
        ],
      },
      {
        test: /\.(jpe?g|png|gif|svg)$/i,
        loaders: [
          'file-loader?hash=sha512&digest=hex&name=img/[hash].[ext]',
          'image-webpack-loader?bypassOnDebug&optipng.optimizationLevel=7&gifsicle.interlaced=false',
        ],
      },
      
    ],
  },
  devServer: {
    historyApiFallback: true,
  },
  plugins: [
    new CheckerPlugin(),
    new HtmlWebpackPlugin({template: 'index.html.ejs',}),
  ],
  externals: {
    'react': 'React',
    'react-dom': 'ReactDOM',
  },
  performance: {
    hints: false,
  },
};
以下是开发模式的配置:

const merge = require('webpack-merge');
const webpack = require('webpack');
const commonConfig = require('./common');

module.exports = merge(commonConfig, {
  mode: 'development',
  entry: [
    'react-hot-loader/patch', // activate HMR for React
    'webpack-dev-server/client?http://localhost:8080',// bundle the client for webpack-dev-server and connect to the provided endpoint
    'webpack/hot/only-dev-server', // bundle the client for hot reloading, only- means to only hot reload for successful updates
    './index.tsx' // the entry point of our app
  ],
  devServer: {
    hot: true, // enable HMR on the server
  },
  devtool: 'cheap-module-eval-source-map',
  plugins: [
    new webpack.HotModuleReplacementPlugin(), // enable HMR globally
  ],
});
和package.json文件:

  "name": "react-webpack-typescript-starter",
  "version": "0.1.0",
  "description": "Starter kit for React, Webpack (with Hot Module Replacement), Typescript and Babel.",
  "keywords": [
    "react",
    "webpack",
    "typescript",
    "babel",
    "sass",
    "hmr",
    "starter",
    "boilerplate"
  ],
  "author": "Viktor Persson",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/vikpe/react-webpack-typescript-starter.git"
  },
  "bugs": {
    "url": "https://github.com/vikpe/react-webpack-typescript-starter/issues"
  },
  "homepage": "https://github.com/vikpe/react-webpack-typescript-starter",
  "scripts": {
    "build": "yarn run build:css clean-dist && webpack -p --config=configs/webpack/prod.js",
    "clean-dist": "rimraf dist/*",
    "lint": "eslint './src/**/*.{js,ts,tsx}' --quiet",
    "start": "yarn run start-dev ",
    "start-dev": "webpack-dev-server --config=configs/webpack/dev.js",
    "start-prod": "yarn run build && node express.js",
    "test": "jest --coverage --watchAll --config=configs/jest.json",
    "build:css": "postcss src/styles/tailwind.css -o src/styles/global.css",
    "watch:css": "postcss src/styles/tailwind.css -o src/styles/global.css"
  },
  "devDependencies": {
    "@babel/cli": "^7.10.5",
    "@babel/core": "^7.10.5",
    "@babel/preset-env": "^7.10.4",
    "@babel/preset-react": "^7.10.4",
    "@types/jest": "^26.0.5",
    "@types/node": "^14.11.10",
    "@types/react": "^16.9.43",
    "@types/react-dom": "^16.9.8",
    "@typescript-eslint/eslint-plugin": "^3.6.1",
    "@typescript-eslint/parser": "^3.6.1",
    "awesome-typescript-loader": "^5.2.1",
    "babel-loader": "^8.1.0",
    "css-loader": "^3.6.0",
    "eslint": "^7.5.0",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-prettier": "^3.1.4",
    "eslint-plugin-react": "^7.20.3",
    "express": "^4.17.1",
    "file-loader": "^6.0.0",
    "html-webpack-plugin": "^4.3.0",
    "image-webpack-loader": "^6.0.0",
    "jest": "^26.1.0",
    "node-sass": "^4.14.1",
    "prettier": "^2.0.5",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-hot-loader": "^4.12.21",
    "rimraf": "^3.0.2",
    "sass-loader": "^9.0.2",
    "style-loader": "^1.2.1",
    "typescript": "^3.9.7",
    "uglifyjs-webpack-plugin": "^2.2.0",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.12",
    "webpack-dev-middleware": "^3.7.2",
    "webpack-dev-server": "^3.11.0",
    "webpack-merge": "^4.2.2"
  },
  "dependencies": {
    "@nivo/line": "^0.63.1",
    "@welldone-software/why-did-you-render": "^5.0.0-rc.1",
    "autoprefixer": "^10.0.1",
    "axios": "^0.20.0",
    "postcss": "^8.1.1",
    "postcss-cli": "^8.0.0",
    "postcss-loader": "^4.0.3",
    "purgecss": "^3.0.0",
    "react-date-range": "^1.1.3",
    "react-datepicker": "^3.3.0",
    "react-hook-form": "^6.9.4",
    "react-router-dom": "^5.2.0",
    "react-select": "^3.1.0",
    "react-toastify": "^6.0.9",
    "styled-components": "^5.2.0",
    "tailwindcss": "^1.8.11"
  }
}


请显示您的package.json文件NPM packages安装不应该依赖于webpack,您可以共享您的package.json吗?是的,我编辑了我的问题。您如何安装软件包?在使用
npm安装
时,是否使用标志
--save
--save dev
?缺少哪些软件包?它们是否列在package.json中?如果是,它们是作为依赖项还是作为devDependency列出的?请显示您的package.json文件NPM packages安装不应该依赖于webpack,您可以共享您的package.json吗?是的,我编辑了我的问题。您是如何安装软件包的?在使用
npm安装
时,是否使用标志
--save
--save dev
?缺少哪些软件包?它们是否列在package.json中?如果是,它们是作为依赖项还是作为依赖项列出的?