Webpack类型错误'TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须为字符串类型。收到的类型为布尔值(true)'

时间:2020-04-01 18:53:04

标签: javascript node.js webpack

我已经为此战斗了一段时间。当我运行npm run dev时,出现以下错误。我可以运行webpack -mode dev,它可以工作。它将输出直接放入我的dest目录中。这是我的项目的GitHubGit Clone Link

我正在跑步:
-节点:v12.16.1
-Webpack:4.42.1
-webpack-cli:3.3.11

错误输出:

> @ dev %USERPROFILE%\source\repos\simple-router
> webpack --config webpack.config.dev.js -mode development --display-error-details

%USERPROFILE%\source\repos\simple-router\node_modules\webpack-cli\bin\cli.js:93
                                throw err;
                                ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type boolean (true)
    at validateString (internal/validators.js:117:11)
    at Object.isAbsolute (path.js:353:5)
    at module.exports (%USERPROFILE%\source\repos\simple-router\node_modules\webpack-cli\bin\utils\convert-argv.js:34:13)
    at %USERPROFILE%\source\repos\simple-router\node_modules\webpack-cli\bin\cli.js:71:45
    at Object.parse (%USERPROFILE%\source\repos\simple-router\node_modules\yargs\yargs.js:567:18)
    at %USERPROFILE%\source\repos\simple-router\node_modules\webpack-cli\bin\cli.js:49:8
    at Object.<anonymous> (%USERPROFILE%\source\repos\simple-router\node_modules\webpack-cli\bin\cli.js:366:3)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (%USERPROFILE%\source\repos\simple-router\node_modules\webpack\bin\webpack.js:156:2)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
    at internal/main/run_main_module.js:18:47 {
  code: 'ERR_INVALID_ARG_TYPE'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `webpack --config webpack.config.dev.js -mode development --display-error-details`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     %USERPROFILE%\AppData\Roaming\npm-cache\_logs\2020-04-01T18_34_52_621Z-debug.log

webpack.config.js

const path = require("path");

module.exports = {
  entry: "./src",
  output: {
    path: path.resolve(__dirname, "dist/js"),
    filename: "simple-router.min.js",
    publicPath: "/js/"
  },
  devtool: "source-map"
};

package.json

{
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "http-server --proxy http://localhost:8080? --log-ip",
    "build": "webpack --config webpack.config.prod.js -mode  --verbose",
    "dev": "webpack --config webpack.config.dev.js -mode development --display-error-details"
  },
  "devDependencies": {
    "webpack": "^4.42.1",
    "webpack-cli": "^3.3.11"
  },
  "dependencies": {}
}

1 个答案:

答案 0 :(得分:0)

我将其发布在这里,可能有帮助,我在google上搜索了我的问题,并找到了该主题。

在我的情况下,

我有一个自定义的“ optin” arg,我用来默认情况下不包含在基本版本中的optin功能。我这样做是因为在同一个项目中我有多个条目和多个输出,并且某些条目并非总是必需的,所以我让用户选择使用它。

一切正常,但有一天我拼错了并写了:npm run build.prod -- -optin=myfeature,但出现此错误,因为它在optin参数之前缺少一个“-”。

因此,启用了-o参数,它使webpack输出混乱