如何将 ExpressJS 应用程序与 Webpack 捆绑在一起,包括所有必需的库?

How to bundle an ExpressJS app with Webpack including all the required libraries?

提问人:Ale TheFe 提问时间:11/10/2023 更新时间:11/10/2023 访问量:16

问:

我正在努力尝试使用 Webpack 配置一个简单的 ExpressJS 应用程序。我不明白为什么我不能在任何地方找到任何东西。
这是我的webpack.config.js

const path = require('path');
const nodeExternals = require('webpack-node-externals');
const NodemonPlugin = require('nodemon-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');

module.exports = {
  entry: './index.js',
  mode: process.env.NODE_ENV,
  devtool: process.env.NODE_ENV === 'development' ? 'source-map' : false,
  target: 'node',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'index.js',
  },
  resolve: {
    extensions: ['.js'],
    alias: {
      '@Root': path.resolve(__dirname),
      '@Src': path.resolve(__dirname, 'src/'),
      '@Db': path.resolve(__dirname, 'src/db/'),
      '@Models': path.resolve(__dirname, 'src/models/'),
      '@Routes': path.resolve(__dirname, 'src/routes/'),
      '@Security': path.resolve(__dirname, 'src/security/'),
      '@Utils': path.resolve(__dirname, 'src/utils/'),
      '@Static': path.resolve(__dirname, 'static/'),
      '@Img': path.resolve(__dirname, 'static/images/'),
    },
  },
  externals: [nodeExternals()],
  plugins: [
    new NodemonPlugin(),
    new CopyPlugin({
      patterns: [
        { from: 'static', to: 'static' },
        { from: 'public', to: 'public' },
        { from: 'src/views', to: '.' },
      ],
    }),
  ],
};

我想做的是启动 webpack,它必须给我一个 dist 文件夹,我可以获取、复制/粘贴到我的服务器上并使用 .Webpack 不包含任何外部库,我真的不明白为什么,也不知道我该如何解决这个问题。node index.js

请帮帮我,这太令人沮丧了!

JavaScript Node.js Express WebPack

评论


答: 暂无答案