Hi, 需要添加在 build.mjs 中添加 external: ['cloudflare:sockets'] 才能正常 build, 否则会出现下面错误
✘ [ERROR] Could not resolve "cloudflare:sockets"
src/lib/bilibili/grpc_helper.js:7:24:
7 │ import { connect } from 'cloudflare:sockets';
╵ ~~~~~~~~~~~~~~~~~~~~
修改完整的 build.mjs 如下
import esbuild from 'esbuild';
import fs from 'fs/promises';
import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill';
function buildWorker({ entry, out, debug, external } = {}) {
return esbuild.build({
plugins: [NodeModulesPolyfillPlugin()],
platform: 'browser',
conditions: ['worker', 'browser'],
entryPoints: [entry],
sourcemap: true,
outfile: out,
external,
logLevel: 'warning',
format: 'esm',
target: 'es2022',
bundle: true,
minify: !debug,
define: {
IS_CLOUDFLARE_WORKER: 'true',
},
loader: {
'.html': 'text',
'.css': 'text',
'.txt': 'text',
},
metafile: true,
legalComments: 'external',
});
}
let result = await buildWorker({
entry: './src/worker.js',
out: './dist/worker.js',
debug: false,
external: ['cloudflare:sockets'] // <--- 添加这一行
});
if (result.metafile) {
// use https://esbuild.github.io/analyze/ to analyses
await fs.writeFile('./dist/metafile.json', JSON.stringify(result.metafile));
}
懒得 fork + PR 了