Webpack - 路径未定义

yav*_*oke 9 typescript webpack

我已经通过 npm 安装了 axios 库,当我使用 webpack 在 Typescript 文件中导入 axios 时,我已经为我的项目配置了 webpack,但是当我运行时npm run build出现奇怪的错误

这就是我得到的

编辑:

> pentlee@1.0.0 build C:\Users\lenovo\Desktop\Web Dev Stuff\pentle
> webpack

[webpack-cli] Failed to load 'C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\webpack.config.js' config
[webpack-cli] ReferenceError: path is not defined
    at Object.<anonymous> (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\webpack.config.js:17:11)
    at Module._compile (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at WebpackCLI.tryRequireThenImport (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:32:22)
    at loadConfig (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:1536:38)
    at WebpackCLI.resolveConfig (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:1639:44)     
npm ERR! code ELIFECYCLE
npm ERR! errno 2        
npm ERR! pentlee@1.0.0 build: `webpack`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the pentlee@1.0.0 build 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!     C:\Users\lenovo\AppData\Roaming\npm-cache\_logs\2021-07-10T16_15_49_549Z-debug.log
PS C:\Users\lenovo\Desktop\Web Dev Stuff\pentle>
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json

{
  "name": "pentlee",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "axios": "^0.21.1",
    "ts-loader": "^9.2.3",
    "typescript": "^4.3.5",
    "webpack-cli": "^4.7.2",
    "webpack": "^5.44.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "repository": {
    "type": "git",
    "url": "\"  \""
  },
  "author": "",
  "license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)

这是我的webpack.config.js

> pentlee@1.0.0 build C:\Users\lenovo\Desktop\Web Dev Stuff\pentle
> webpack

[webpack-cli] Failed to load 'C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\webpack.config.js' config
[webpack-cli] ReferenceError: path is not defined
    at Object.<anonymous> (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\webpack.config.js:17:11)
    at Module._compile (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
    at WebpackCLI.tryRequireThenImport (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:32:22)
    at loadConfig (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:1536:38)
    at WebpackCLI.resolveConfig (C:\Users\lenovo\Desktop\Web Dev Stuff\pentle\node_modules\webpack-cli\lib\webpack-cli.js:1639:44)     
npm ERR! code ELIFECYCLE
npm ERR! errno 2        
npm ERR! pentlee@1.0.0 build: `webpack`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the pentlee@1.0.0 build 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!     C:\Users\lenovo\AppData\Roaming\npm-cache\_logs\2021-07-10T16_15_49_549Z-debug.log
PS C:\Users\lenovo\Desktop\Web Dev Stuff\pentle>
Run Code Online (Sandbox Code Playgroud)

我还尝试更改 webpack cofig 文件,/但这./仍然不起作用,我做错了什么?在此输入图像描述

gun*_*win 30

您正在使用该path库而不导入它。

将以下行添加到 webpack.config.js 文件的顶部:

const path = require('path');
Run Code Online (Sandbox Code Playgroud)

或者

import path from 'path';
Run Code Online (Sandbox Code Playgroud)