如何在webpack中包含ogg和mp3文件格式?

问题描述 投票:1回答:1

我有一个Phaser3的项目,目前正在尝试在游戏中添加音乐和声音,但我无法加载任何声音文件,但它在srcassets文件夹中。但是,我无法加载任何声音文件,但它在srcassets文件夹中。我使用webpack来运行localhost。下面的文件(base.js)表明我允许声音格式,但由于某些原因没有加载,可能是基础文件不正确。

错误日志: 8080/assets/hit.ogg:1 Failed to load resource: the server responded with a status of 404 (Not Found)

base.js

const webpack = require("webpack");
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");

module.exports = {
  mode: "development",
  devtool: "eval-source-map",
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: [/\.vert$/, /\.frag$/],
        use: "raw-loader"
      },
      {
        test: /\.(gif|png|jpe?g|svg|xml|ogg|wav|mp3)$/i,
        use: "file-loader"
      }
    ]
  },
  plugins: [
    new CleanWebpackPlugin({
      root: path.resolve(__dirname, "../")
    }),
    new webpack.DefinePlugin({
      CANVAS_RENDERER: JSON.stringify(true),
      WEBGL_RENDERER: JSON.stringify(true)
    }),
    new HtmlWebpackPlugin({
      template: "./index.html"
    })
  ]
};

如何修复该文件,使我可以允许加载soundmusic文件。TIA.

javascript webpack webpack-dev-server phaser-framework webpack-4
1个回答
0
投票

我最终使用了 require('./assets/hit.ogg') 来自Node.js。不知道当它被部署时是否会引起问题,但它在localhost中工作。

© www.soinside.com 2019 - 2024. All rights reserved.