Javascript 参数数量不足或找不到条目

Javascript 参数数量不足或找不到条目,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,我正在使用socket.io构建一个应用程序,它使用客户端-服务器通信和服务器-谷歌云平台通信。对于前端部分,我使用React,其中我有两个组件App和Touch。将来我会改变项目结构,但现在看起来是这样的 我的项目结构如下: nodemodulesFolder publicFolder jsFolder client.js socket.io.js socket.io.js socket.io.js.map touch.js viewF

我正在使用socket.io构建一个应用程序,它使用客户端-服务器通信和服务器-谷歌云平台通信。对于前端部分,我使用React,其中我有两个组件App和Touch。将来我会改变项目结构,但现在看起来是这样的

我的项目结构如下:

nodemodulesFolder
publicFolder
  jsFolder
     client.js
     socket.io.js
     socket.io.js
     socket.io.js.map
     touch.js
  viewFolder
     App.js
     index.css
     Touch.js
  index.js
  routes.js
.dockerignore
.env
.gitignore
deployment.yaml
Dockerfile
index.js
ingress.yaml
Jenkinsfike
package.json
package-lock.json
server.js
webpack.config.js
这是我的webpack.config.js

'use strict'

module.exports = {
  entry: __dirname + '/cp-test-app/public/index.js',
  output: {
    path: __dirname + '/cp-test-app/public/',
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015']
        }
      },
      { test: /\.css$/,
        use: [
          { loader: "style-loader" },
          { loader: "css-loader" }
        ]
      }
    ]
  },
  resolve: {
    extensions: ['.js', '.jsx']
  }
};
下面是我用来运行应用程序的脚本:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack --mode development",
    "build": "webpack --mode production"
}
但不知何故,我得到了以下错误:

@start/Users/RAULVILLOVALENCIA/OneDrive-马德里理工大学/文档/cp-test-app-2/cp-test app webpack——模式开发

My package.json如下所示:

{
  "description": "Google Cloud Speech Playground with node.js and socket.io.",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack --mode development",
    "build": "webpack --mode production"
  },
  "author": "",
  "license": "ISC",
  "babel": {
    "presets": [
      "env",
      "react"
    ],
    "plugins": [
      "transform-object-rest-spread"
    ]
  },
  "dependencies": {
    "@google-cloud/speech": "1.5.0",
    "@grpc/proto-loader": "^0.3.0",
    "@webpack-cli/init": "^0.1.1",
    "ajv": "^6.5.4",
    "ajv-keywords": "^3.2.0",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-register": "^6.3.13",
    "cors": "^2.8.4",
    "dotenv": "^4.0.0",
    "ejs": "^2.5.7",
    "express": "^4.16.3",
    "isomorphic-fetch": "^2.2.1",
    "json-loader": "^0.5.4",
    "nodemon": "^1.18.4",
    "path": "^0.12.7",
    "react": "^16.5.2",
    "react-dom": "^16.5.2",
    "react-engine": "^4.5.1",
    "react-router": "^3.2.1",
    "react-router-dom": "^4.2.2",
    "serialize-javascript": "^1.4.0",
    "serve-favicon": "^2.3.0",
    "socket.io": "^2.0.4"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "css-loader": "^1.0.0",
    "extract-text-webpack-plugin": "^3.0.2",
    "nodemon": "^1.9.2",
    "webpack": "^4.20.2",
    "webpack-cli": "^3.1.1",
    "webpack-node-externals": "^1.6.0"
  }
}

Webpack正在查找
/cp-test-app-2/cp-test-app/cp-test-app/public/index.js
,而它应该查找
/cp-test-app-2/cp-test-app/public/index.js

通过删除额外的
/cp测试应用程序
,在
webpack.config.js
中指定正确的相对路径:

'use strict'

module.exports = {
  entry: __dirname + '/public/index.js',
  output: {
    path: __dirname + '/public/',
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015']
        }
      },
      { test: /\.css$/,
        use: [
          { loader: "style-loader" },
          { loader: "css-loader" }
        ]
      }
    ]
  },
  resolve: {
    extensions: ['.js', '.jsx']
  }
};
可能与此特定错误无关,但您需要使用以下语法来指定模式:

webpack --mode=development
//            ^      
// Notice the equals sign.

这应该是传递mode
webpack--mode=production
@PardeepDhingra的语法,你有什么建议?我的意思是不要使用脚本“开始”:“webpack——模式开发”。您认为哪种方式更好?模式可以通过webpack.config.js传递,而不是在开始时传递。这就引出了
未知参数:mode
@Joe有趣的是,根据您的
包.json
,这些版本都很好。您是否有任何其他
webpack
webpack cli
安装(可能是全局安装?)
webpack--version
(在项目目录和其他目录中)的输出是什么?每当我编写此代码
webpack--version
时,我都会得到以下信息:
webpack--version One cli for webpack必须安装。这些是推荐的选择,作为单独的软件包提供:-webpack cli(https://github.com/webpack/webpack-cli)原始网页包提供了全功能CLI。我们将使用“npm”通过“npm install-D”安装CLI。是否要安装“webpack cli”(是/否):%%
看起来您没有安装cli。您可以通过在项目目录中运行
npm install
来安装它(正如您将
webpack cli
作为
devDependency
),或者您可以使用
npm install-g webpack cli
全局安装它。
webpack --mode=development
//            ^      
// Notice the equals sign.