webpack-dev-server 为 root localhost:8080 设置了错误的路径

IT技术 reactjs webpack webpack-dev-server
2021-05-07 02:54:20

我是 ReactJS 的真正初学者。我需要你帮助为 localhost:8080 设置 webpack-dev-server。我正在按照这个YouTube 教程进行设置,但是在教程中我还没有成功。它将根路径设置为../node_module/.bin并在其中列出了 me 文件。它应该将 root 设置为“react-for-everyone”。

查看图像以检查 webpack-dev-server 的文件层次结构、浏览器和命令。

包.json:

    {
  "name": "react-for-everyone",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies":{
      "babel-core": "^6.1.*",
      "babel-loader": "^6.2.*",
      "babel-preset-es2015": "^6.16.*",
      "babel-preset-react": "^6.16.*",
      "webpack": "^1.13.*",
      "webpack-dev-server": "^1.16.*"
  },
  "dependencies":{
      "react": "^15.3.*",
      "react-dom": "^15.3.*"
  }
}

webpack-config.js:

module.exports ={
//  entry:'./src/App.js',
    entry: [
    'webpack-dev-server/client?http://localhost:8080',
    'webpack/hot/only-dev-server',
    './src/App.js'
    ],
    output: {
        path: path.resolve(__dirname, "react-for-everyone"),
        filename: 'app.js',
        publicPath: 'http://localhost:8080'
    },
    devServer: {
        contentBase: "./react-for-everyone",
    },
    module:{

        loader:[{
            test: "/\.jsx?$/",
            exclude: /node_modules/,
            loader: "babel",
            query: {
                preset: ['es2015', 'react']
            }
        }]
    }
};

索引.html:

    <!DOCTYPE html>
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<div id="app">This is an App.</div>
<script src="app.js"></script>
</body>
</html>

请检查并让我知道我做错的问题。

2个回答

添加"dev": "./node_modules/.bin/webpack-dev-server --content-base"scripts in package.json和运行的WebPack形成react-for-everyone文件夹npm run dev

包.json

{
  "name": "react-for-everyone",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "dev": "./node_modules/.bin/webpack-dev-server --content-base",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies":{
      "babel-core": "^6.1.*",
      "babel-loader": "^6.2.*",
      "babel-preset-es2015": "^6.16.*",
      "babel-preset-react": "^6.16.*",
      "webpack": "^1.13.*",
      "webpack-dev-server": "^1.16.*"
  },
  "dependencies":{
      "react": "^15.3.*",
      "react-dom": "^15.3.*"
  }
}

您正在 ../node_module/.bin 文件夹中运行 webpack-dev-server 命令,因此 webpack-dev-server 将为该文件夹提供服务。你必须小心在哪里使用这个命令,因为它知道它是从哪个文件夹开始的。

要解决您的问题,请移至 G:\wamp\react-for-anyone 并./node_modules/.bin/webpack-dev-server在此文件夹中运行

这应该允许 webpack-dev-server 找到您的 index.html 并在http://localhost:8080上提供它