diff --git a/src/index.html b/abandoned/index.html
similarity index 100%
rename from src/index.html
rename to abandoned/index.html
diff --git a/src/style.css b/abandoned/style.css
similarity index 100%
rename from src/style.css
rename to abandoned/style.css
diff --git a/webpack.config.js b/abandoned/webpack.config.js
similarity index 100%
rename from webpack.config.js
rename to abandoned/webpack.config.js
diff --git a/next.config.ts b/next.config.ts
index e9ffa30..7ea9c4f 100644
--- a/next.config.ts
+++ b/next.config.ts
@@ -2,6 +2,16 @@ import type { NextConfig } from "next";
const nextConfig: NextConfig = {
/* config options here */
+ webpack(config, { isServer }) {
+ // 仅在服务器端处理 .node 文件
+ if (isServer) {
+ config.module.rules.push({
+ test: /\.node$/,
+ use: 'node-loader', // 使用 node-loader 处理 .node 文件
+ });
+ }
+ return config;
+ },
};
export default nextConfig;
diff --git a/package-lock.json b/package-lock.json
index 5df249b..8c4eb3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,6 +23,7 @@
"eslint": "^9",
"eslint-config-next": "15.1.3",
"html-webpack-plugin": "^5.6.3",
+ "node-loader": "^2.1.0",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"ts-loader": "^9.5.1",
@@ -1801,6 +1802,16 @@
"tweetnacl": "^0.14.3"
}
},
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.3.0",
"dev": true,
@@ -2797,6 +2808,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -5063,6 +5084,34 @@
"node": ">=6.11.5"
}
},
+ "node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/loader-utils/node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"dev": true,
@@ -5448,6 +5497,26 @@
"node": ">= 6.13.0"
}
},
+ "node_modules/node-loader": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/node-loader/-/node-loader-2.1.0.tgz",
+ "integrity": "sha512-OwjPkyh8+7jW8DMd/iq71uU1Sspufr/C2+c3t0p08J3CrM9ApZ4U53xuisNrDXOHyGi5OYHgtfmmh+aK9zJA6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "loader-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
"node_modules/node-releases": {
"version": "2.0.19",
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz",
diff --git a/package.json b/package.json
index eb8819d..1505e17 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"eslint": "^9",
"eslint-config-next": "15.1.3",
"html-webpack-plugin": "^5.6.3",
+ "node-loader": "^2.1.0",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"ts-loader": "^9.5.1",