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

pal*_*rni 6 node.js reactjs google-cloud-platform webpack redux

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

我遇到的错误 -

警告在./~/google-cloud/~/hash-stream-validation/index.js找不到模块:错误:无法解析'/ home/linuxbox/React-Workspace/Kaptify/node_modules中的'fast-crc32c'/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严重依赖:依赖的请求是表达式

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

Chr*_*ris 10

我看到你正在使用webpack,我假设你google-cloud在后端使用了库.

试着把它放在你的webpack配置中:

config = {
    // ...
    externals: {
        '@google-cloud/storage': 'commonjs @google-cloud/storage'
    },
    // ...
}
Run Code Online (Sandbox Code Playgroud)

说明

用于后端的模块实际上并不是为了将它们捆绑在一起(参见:使用Webpack的后端应用程序).所以我们使用webpack的externals配置来排除那些不能很好地处理捆绑的库.当应用程序运行时,它们就像正常情况一样require()node_modules目录中删除.

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

  • 这如何解决这个问题?当您将 webpacked javascript 带到其他地方时,由于缺少模块,它将无法工作 (2认同)