将 google-cloud 与 webpack 集成时遇到问题
Posted
技术标签:
【中文标题】将 google-cloud 与 webpack 集成时遇到问题【英文标题】:Getting an issue while integrating google-cloud with webpack 【发布时间】:2017-08-12 17:51:29 【问题描述】:我正在将 google-cloud npm 包与我的 react 应用程序集成,并且我正在使用 firebase。
我遇到的错误 -
./~/google-cloud/~/hash-stream-validation/index.js 模块中的警告 未找到:错误:无法解析“fast-crc32c” '/home/linuxbox/React-Workspace/Kaptify/node_modules/google-cloud/node_modules/hash-stream-validation' @ ./~/google-cloud/~/hash-stream-validation/index.js 5:8-30 @ ./~/google-cloud/~/@google-cloud/storage/src/file.js @ ./~/google-cloud/~/@google-cloud/storage/src/index.js @ ./~/google-cloud/src/index.js @ ./src/actions/UserStateStore.js @ ./app.js@multi (webpack)-dev-server/client?http://127.0.0.1:3000 webpack/hot/dev-server ./app.js
./~/google-cloud/~/google-auto-auth/index.js 53:13-58 中的警告 关键依赖:依赖的请求是一个表达式
./~/google-cloud/~/grpc/src/node/src/grpc_extension.js 中的警告 38:14-35 关键依赖:依赖的请求是 表达
./~/google-cloud/~/node-pre-gyp/lib/pre-binding.js 19:22-48 中的警告 关键依赖:依赖的请求是一个表达式
./~/google-cloud/~/node-pre-gyp/lib/util/versioning.js 中的警告 15:20-67 关键依赖:依赖的请求是 表达
谁能帮我解决这个问题?
【问题讨论】:
你在前端代码还是后端代码中使用google-cloud
?如果是前端,你可能想使用这个库:developers.google.com/api-client-library/javascript/start/…
【参考方案1】:
我看到你在使用 webpack,我假设你在后端使用 google-cloud
库。
试着把它放在你的 webpack 配置中:
config =
// ...
externals:
'@google-cloud/storage': 'commonjs @google-cloud/storage'
,
// ...
说明
用于后端的模块并不是真正为将它们捆绑在一起而制作的(请参阅:Backend Apps with Webpack)。所以我们使用 webpack 的 externals
配置来排除不能很好地处理捆绑的库。当应用程序运行时,它们只是像往常一样从node_modules
目录中获得require()
。
如果您不想逐个指定有问题的模块,请尝试使用webpack-node-externals 自动排除所有模块。
【讨论】:
这如何解决问题?当您将 webpacked javascript 带到其他地方时,由于缺少模块,它将无法工作 @OdedNiv 如果您为正在制作的库执行此操作,您需要将您排除在dependencies
中的软件包列在 package.json
中,这样任何消耗您的库的东西也会下载必要的模块。
他说他正在将 google-cloud 与他的“react 应用程序”集成,这与库相反以上是关于将 google-cloud 与 webpack 集成时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
ReferenceError:导入@google-cloud/storage 时分配的左侧无效
如何使用 Google PubSub 确认 (@google-cloud/pubsub)
为啥@google-cloud/profiler 在 GKE 实例中运行时会抛出“permission_denied”错误?
GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)
使用 google-cloud 库执行 BigQuery 查询时出现异常
使用 Cloud Functions for Firebase 和 @google-cloud/storage 删除图像时出现问题