Nodejs, Webpack4 - PullRequest
       0

Nodejs, Webpack4

0 голосов
/ 31 марта 2020

Я хочу создать приложение 1 nodejs. Я не понимаю, почему при сборке версии и копировании в другое место и запуске узла невозможно запустить из-за отсутствия модулей. это файл webpack:

const nodeExternals = require('webpack-node-externals')
const fs = require('fs')

var nodeModules = {};
fs.readdirSync('node_modules')
    .filter(function (x) {
        return ['.bin'].indexOf(x) === -1;
    })
    .forEach(function (mod) {
        nodeModules[mod] = 'commonjs ' + mod;
    });

module.exports = {
    mode: 'development',
    target: "node",
    entry: {
        server: './src/index.js',
    },
    output: {
        path: path.join(__dirname, 'build'),
        filename: '[name].js',
    },
    node: {
        __gloabal: true,
        __filename: true,
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: '/node_modules',
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.json$/,
                loader: "json"
            }
        ]
    },
    resolve: {
        extensions: [".js", ".json"],

    },
    externals: [nodeModules],
    optimization: {
        minimize: true
    }
}

и здесь, когда я работаю в папке перед копией: enter image description here

1 Ответ

0 голосов
/ 31 марта 2020

Поскольку вы используете Внешние параметры , параметр конфигурации

Параметр конфигурации внешних элементов позволяет исключить зависимости из выходных пакетов. Вместо этого созданный пакет полагается на то, что эта зависимость присутствует в среде потребителя (любого приложения конечного пользователя). Эта функция обычно наиболее полезна для разработчиков библиотек, однако для нее существует множество приложений.

module.exports = {
  mode: 'development',
  target: 'node',
  entry: {
    server: './src/index.js'
  },
  output: {
    path: path.join(__dirname, 'build'),
    filename: '[name].js'
  },
  node: {
    __gloabal: true,
    __filename: true
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: '/node_modules',
        use: {
          loader: 'babel-loader'
        }
      },
      {
        test: /\.json$/,
        loader: 'json'
      }
    ]
  },
  resolve: {
    extensions: ['.js', '.json']
  },
  optimization: {
    minimize: true
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...