Webpack - path is not defined。

9
我已经通过npm安装了axios库,在我的TypeScript文件中使用webpack导入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>

这是我的 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"
}

这是我的webpack.config.js文件

module.exports = {
  entry: "./public/ts/mainPage.ts",
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: "ts-loader",
        exclude: /node_modules/,
      },
    ],
  },
  resolve: {
    extensions: [".tsx", ".ts", ".js"],
  },
  output: {
    filename: "mainPage.js",
    path: path.resolve(__dirname, "public/distSrc"),
  },
};

我也尝试在webpack配置文件中将 / 改为 ./,但仍然无法正常工作,我做错了什么? enter image description here


1
错误在于您的输入,能否提供更多细节信息?我们可以看一下吗? - Diesan Romero
是的,我已经添加了。 - callmenikk
1个回答

29

您正在使用未导入的path库。

请在webpack.config.js文件顶部添加以下行:

const path = require('path');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接