Сбой сборки веб-пакета Node JS

#javascript #node.js #webpack

#javascript #node.js #webpack

Вопрос:

Я хочу сохранить серверный проект, который я разработал с помощью Node JS, как сборку и сохранить его как 1 HTML-файл на моем сервере как Webpack. Я разрабатываю с помощью nodemon, никаких проблем, но, согласно моей конфигурации, «СБОРКА под УПРАВЛЕНИЕМ NPM» не работает. Может вызвать проблему?

Возвращается 30 различных ошибок, это одна. Все они пишут другую информацию о библиотеке, подобную этой. «Модуль не найден: ошибка: не удается разрешить ‘zlib’ в ‘/ Users / ugurcanalyuz / Projects / Ekartex / ekartex_backend / node_modules / body-parser / lib'»

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"
  }
}
 

Комментарии:

1. Похоже, некоторые пакеты отсутствуют. Не могли бы вы кратко объяснить, как вы настраиваете свой проект?

2. @YannickEich При настройке проекта я сначала использовал команду «инициализация npm —yes». Затем я установил связанные библиотеки Webpack и добавил «express». Это такой пустой проект.

3. Какие команды вы использовали для установки всех необходимых пакетов?

4. Я установил плагины «—save» и «express и webpack». Среди модулей, которые выходят из строя, есть «fs, zlib, path, crypto, buffer». Я также установил их, количество ошибок упало до 14, но я все еще получаю те же ошибки. Ошибка «Не удается разрешить» для модулей, которые я установил. @YannickEich

5. Не могли бы вы настроить новый проект, который вы пытаетесь создать напрямую?

Ответ №1:

Опция devServer предназначена для клиентской части. для node.js вам нужно добавить

  target: "node",
 

а также для повышения производительности

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

Ответ №2:

Просто запустите следующую команду в командной строке (/ terminal):

 npm i zlib
 

Комментарии:

1. Я нигде не использовал zlib, но я сделал то, что сказал, что 3 ошибки отсутствуют. Должен ли я это делать? В результате я просто добавил «express» и «webpack» в пустой проект.