上传 cloudflare worker 时出现错误 10021
Getting error 10021 when uploading cloudflare worker
我正在尝试按照文档编写一个 cloudflare worker,并使用 Webpack 生成一个要上传的文件。
运行 文档中的脚本之后:
curl -X PUT "https://api.cloudflare.com/client/v4/zones/ZONE_ID/workers/script" -H "Content-Type:application/javascript" -H "X-Auth-Email:CLOUDFLARE_EMAIL" -H "X-Auth-Key:CLOUDFLARE_KEY" --data-binary "@dist/index.js"
我收到以下错误:
{
"result": null,
"success": false,
"errors": [
{
"code": 10021,
"message": "Uncaught ReferenceError: exports is not defined\n at line 1\n"
}
],
"messages": []
}
我的 webpack 配置:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: ['./src/index.js'],
target: 'web',
module: {
rules: [{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
}],
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, 'dist'),
filename: 'index.js',
},
};
我找不到关于使用 webpack 创建 worker 的文档或示例,但我认为这不是什么新鲜事:)
谢谢
这里的问题是libraryTarget: 'commonjs'
。这对工人来说是不正确的。您应该改用 libraryTarget: "this"
,或者完全省略 libraryTarget
。
我们最近发布了一篇关于如何将 Webpack 与 Cloudflare Workers 结合使用的博客 post:https://blog.cloudflare.com/using-webpack-to-bundle-workers/
我正在尝试按照文档编写一个 cloudflare worker,并使用 Webpack 生成一个要上传的文件。
运行 文档中的脚本之后:
curl -X PUT "https://api.cloudflare.com/client/v4/zones/ZONE_ID/workers/script" -H "Content-Type:application/javascript" -H "X-Auth-Email:CLOUDFLARE_EMAIL" -H "X-Auth-Key:CLOUDFLARE_KEY" --data-binary "@dist/index.js"
我收到以下错误:
{
"result": null,
"success": false,
"errors": [
{
"code": 10021,
"message": "Uncaught ReferenceError: exports is not defined\n at line 1\n"
}
],
"messages": []
}
我的 webpack 配置:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: ['./src/index.js'],
target: 'web',
module: {
rules: [{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
}],
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, 'dist'),
filename: 'index.js',
},
};
我找不到关于使用 webpack 创建 worker 的文档或示例,但我认为这不是什么新鲜事:)
谢谢
这里的问题是libraryTarget: 'commonjs'
。这对工人来说是不正确的。您应该改用 libraryTarget: "this"
,或者完全省略 libraryTarget
。
我们最近发布了一篇关于如何将 Webpack 与 Cloudflare Workers 结合使用的博客 post:https://blog.cloudflare.com/using-webpack-to-bundle-workers/