在将google-cloud与webpack集成时遇到问题

时间:2017-03-21 07:29:01

标签: node.js reactjs webpack redux google-cloud-platform

我正在将google-cloud npm软件包与我的反应应用程序集成,我正在使用firebase。

我遇到的错误 -

  警告在./~/google-cloud/~/hash-stream-validation/index.js模块中   找不到:错误:无法解决' fast-crc32c'在   ' /家庭/ linuxbox /阵营-工作区/ Kaptify / node_modules /谷歌云/ node_modules /散列的流验证'   @ ./~/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关键依赖:依赖的请求是一个   表达

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:7)

我看到您正在使用网络包,我假设您正在使用后端的google-cloud库。

尝试将其放入您的webpack配置中:

config = {
    // ...
    externals: {
        '@google-cloud/storage': 'commonjs @google-cloud/storage'
    },
    // ...
}

说明

用于后端的模块并非真正用于捆绑它们的目的(参见:Backend Apps with Webpack)。因此,我们使用webpack的externals配置来排除那些不能很好地处理捆绑的库。应用程序运行时,它们只是require()正常node_modules目录。

如果您不想逐个指定违规模块,请尝试webpack-node-externals自动排除所有模块。