Создание экспресс-бэкенда с веб-пакетом - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь построить наш сервер NodeJS с помощью веб-пакета.

Я не могу найти однозначного ответа, возможно ли или нет упаковать модули узла вместе в комплект.

Дляв тот момент, когда у меня есть сборка моего кода, но узлы-модули должны быть установлены вручную.

const webpack = require('webpack');
const path = require('path');
const Dotenv = require('dotenv-webpack');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  entry: './bin/www',
  target: 'node',
  output: {
    path: path.join(__dirname, 'build'),
    filename: 'bundle.js',
  },
  externals: [nodeExternals()],
  devtool: 'sourcemap',
  plugins: [
    new Dotenv(),
    new webpack.BannerPlugin({
      banner: 'require("source-map-support").install();',
      raw: true,
      entryOnly: false,
    })
  ],
};

Эта сборка прекрасно работает, если я устанавливаю узлы-модули вручную.(npm i)

Я хотел предоставить нашему хосту архив типа plug-and-play , но закомментировав nodeExternals, который я получил:

ПРЕДУПРЕЖДЕНИЕ в./node_modules/mongoose/lib/drivers/index.js 10: 13-49 Критическая зависимость: запрос зависимости является выражением @ ./node_modules/mongoose/lib/schema.js @ ./node_modules/mongoose/lib/index.js @ ./node_modules/mongoose/index.js @ ./app.js @ ./bin/www

ПРЕДУПРЕЖДЕНИЕ в ./node_modules/require_optional/index.js 82: 18-42 Критическая зависимость:запрос зависимости является выражением @ ./node_modules/mongodb-core/index.js @ ./node_modules/mongodb/index.js @ ./node_modules/mongoose/lib/index.js @ ./node_modules/mongoose/index..js @ ./app.js @ ./bin/www

ПРЕДУПРЕЖДЕНИЕ в ./node_modules/express/lib/view.js 78: 29-56 Критическая зависимость: запрос зависимости является выражением @./node_modules/express/lib/application.js @ ./node_modules/express/lib/express.js @ ./node_modules/express/index.js @ ./app.js @ ./bin/www

ПРЕДУПРЕЖДЕНИЕ в ./node_modules/es6-promise/dist/es6-promise.js Модуль не найден: Ошибка: не удается разрешить 'vertx' в 'D: \ repos \ alms-web-portals \node_modules \ es6-обещание \ dist '@ ./node_modules/es6-promise/dist/es6-promise.js @ ./node_modules/mongodb/lib/cursor.js @ ./node_modules/mongodb/index.js @ ./node_modules/mongoose/lib/index.js @ ./node_modules/mongoose/index.js @ ./app.js @ ./bin/www

В комплект входят node_modules, и сервер работает, но любойвызов API завершается с ошибочным запросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...