Я пытаюсь добавить базу данных в свою игру Phaser 3 и не могу понять это. Я намеревался использовать express, чтобы сделать это, но у меня много проблем, даже заставить его работать.
Я перебрал все ответы о переполнении стека, которые могу найти, но не могу заставить его работать. Самое большое, что я получил, - это процесс сборки, когда встречается ошибка «Неизвестная ссылка: требуется» в консоли, и не запускается Phaser 3, что заставляет меня думать, что я делаю это совершенно неправильно.
A ссылка на репозиторий GitHub здесь
Или, как я полагаю, здесь кроется проблема:
Package. json
"name": "phaser3",
"version": "1.1.0",
"description": "A Phaser 3 Game developed for University",
"main": "src/index.js",
"scripts": {
"build": "webpack --config webpack/prod.js ",
"start": "webpack-dev-server --config webpack/base.js --open"
},
"repository": {
"type": "git",
"url": "git+https://github.com/xKeeg/pixelRPG"
},
"author": "Keegan Manton",
"license": "MIT",
"licenseUrl": "http://www.opensource.org/licenses/mit-license.php",
"homepage": "http://xkeeg.github.io",
"devDependencies": {
"@babel/core": "^7.7.2",
"@babel/preset-env": "^7.7.1",
"babel-loader": "^8.0.6",
"clean-webpack-plugin": "^3.0.0",
"file-loader": "^4.2.0",
"html-webpack-plugin": "^3.2.0",
"raw-loader": "^3.1.0",
"terser-webpack-plugin": "^2.2.1",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0",
"webpack-merge": "^4.2.2",
"webpack-node-externals": "^1.7.2"
},
"dependencies": {
"express": "^4.17.1",
"mysql": "^2.18.1",
"phaser": "^3.20.1"
}
}
base. js
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|mp3|wav|ogg)$/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"
})
]
};
prod. js
const merge = require("webpack-merge");
const path = require("path");
const base = require("./base");
const TerserPlugin = require("terser-webpack-plugin");
module.exports = merge(base, {
mode: "production",
output: {
filename: "bundle.min.js"
},
devtool: false,
performance: {
maxEntrypointSize: 900000,
maxAssetSize: 900000
},
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
output: {
comments: false
}
}
})
]
}
});