【问题标题】:Node JS Webpack Build FailedNode JS Webpack 构建失败
【发布时间】:2021-01-05 12:28:05
【问题描述】:

我想将我使用 Node JS 开发的后端项目保留为 Build,并将其作为 1 个 HTML 文件保留在我的服务器上作为 Webpack。我是用nodemon开发的,没问题,但是根据我的配置,“NPM RUN BUILD”这个住宅不起作用。会导致问题吗?

30 个不同的错误返回,这是一个。他们都像这样写其他图书馆信息。 “找不到模块:错误:无法解析'/Users/ugurcanalyuz/Projects/Ekartex/ekartex_backend/node_modules/body-parser/lib'中的'zlib'”

webpack.config.js

 const path = require("path");
    module.exports = {
        entry: './server.js',
        output: {
            path: path.resolve(__dirname, 'dist'),
            filename: 'bundle.js'
        },
        devServer: {
            contentBase: './dist',
            compress: true,
            port: 3200
        },
        module: {
            rules: [
                {
                    test: /\.js$/,
                    exclude: /node_modules/,
                    loader: "babel-loader"
                }
            ]
        }
    }

server.js

const express = require("express");
const app = express();

const users = require("./src/routers/users");
app.use(users);

app.listen(3200, () => {
    console.log("Sistem açık");
})

package.json

{
  "name": "exxx",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "start": "nodemon server.js",
    "build": "webpack --mode production"
  },
  "repository": {
    "type": "git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.12.10",
    "@babel/preset-env": "^7.12.11",
    "babel-loader": "^8.2.2",
    "webpack": "^5.11.1",
    "webpack-cli": "^4.3.1",
    "webpack-dev-server": "^3.11.1"
  },
  "dependencies": {
    "express": "^4.17.1"
  }
}

【问题讨论】:

  • 好像有些包丢失了。您能否简要解释一下您是如何设置项目的?
  • @YannickEich 在设置项目时,我首先使用了“npm init --yes”命令。然后我安装了相关的 Webpack 库并添加了“express”。这是一个如此空洞的项目。
  • 您使用了哪些命令来安装所有必需的软件包?
  • 我安装了“--save”和“express and webpack”插件。在失败的模块中,有“fs、zlib、path、crypto、buffer”。我还安装了这些错误计数降至 14,但我仍然得到相同的错误。我安装的模块出现“无法解决”错误。 @YannickEich
  • 您能设置一个新项目,直接尝试构建吗?

标签: javascript node.js webpack


【解决方案1】:

devServer 选项用于客户端。对于 node.js 你需要添加

 target: "node",

也为了更好的性能

 const nodeWebExternals = require("webpack-node-externals");
 // add this property to webpack config object
 externals: [nodeWebExternals()],

【讨论】:

    【解决方案2】:

    只需在命令行(/终端)中运行以下命令:

    npm i zlib
    

    【讨论】:

    • 我没有在任何地方使用 zlib,但我做了它所说的 3 个错误丢失。我必须这样做吗?结果,我只是在空白项目中添加了“express”和“webpack”。
    猜你喜欢
    • 2019-03-18
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 2019-02-10
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多