为什么 webpack 不提供我的静态文件?

时间:2021-02-04 04:23:39

标签: webpack static babeljs

谁能解释为什么 webpack 不提供静态文件?

这是我的代码结构

  • 分布
  • node_modules
  • public,这是我的静态文件涂装的地方
  • 服务器包含 server.js
  • src 包含 react 应用组件
  • webpack.config

正如您从 web image 中看到的,我的 webpack 没有生成我的静态文件。

这是我的客户端配置

    const path = require("path");
module.exports = {
  entry: {
    app: "./src/index.js",
  },
  devServer: {
    contentBase: path.join(__dirname, "/public"),
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: "babel-loader",
      },
      {
        test: /\.(png|jpe?g|gif|svg)$/,
        loader: "file-loader",
        options: {
          name: "public/static/[name].[ext]?[hash]",
          publicPath: (url) => url.replace(/public/, ""),
        },
      },
    ],
  },
};

这是我的服务器配置

    const path = require("path");
const nodeExternals = require("webpack-node-externals");

module.exports = {
  mode: "development",
  entry: "./server/server.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "server.bundle.js",
  },
  devServer: {
    contentBase: path.join(__dirname, "/public"),
  },
  target: "node",
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: "babel-loader",
      },
      {
        test: /\.(png|jpe?g|gif|svg)$/,
        loader: "file-loader",
        options: {
          name: "public/static/[name].[ext]?[hash]",
          publicPath: (url) => url.replace(/public/, ""),
        },
      },
    ],
  },
  externals: [nodeExternals()],
};

0 个答案:

没有答案