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",