googleapis npm模块和webpack捆绑包错误

时间:2019-08-26 08:40:08

标签: javascript node.js firebase webpack google-api-client

我尝试在扩展程序的后台从Firebase获取远程配置。

我在npm上安装了googleapis模块,并使用webpack来编译和捆绑文件。 当我尝试在我的js文件中导入googleapis时:

import {google} from 'googleapis';

并使用它:  const jwtClient = new google.auth.JWT(...);

控制台中显示几个错误:

ERROR in ./~/googleapis/build/src/googleapis.js
Module parse failed: /node_modules/googleapis/build/src/googleapis.js Unexpected token (81:10)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (81:10)
ERROR in ./~/googleapis-common/build/src/authplus.js
Module parse failed: /node_modules/googleapis-common/build/src/authplus.js Unexpected token (32:10)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (32:10)

我尝试在webpack配置中使用外部函数将googleapis从捆绑包编译中排除,但未成功

    externals: {
        googleapis: 'googleapis'
    },

带有babel配置加载程序的webpack:

loaders: [{
                    loader: "babel-loader",
                    test: /\.jsx?$/,
                    query: {
                        plugins: ['transform-runtime'],
                        presets: ['es2015', 'react'],
                    }
          }]

1 个答案:

答案 0 :(得分:0)

这似乎是googleapis的已知问题: https://github.com/googleapis/google-api-nodejs-client/issues/1270#issuecomment-412361803

似乎已经修复了一年的PR,但是同样..它不知道是否/何时将其合并到master分支。

如果可能的话,我建议尝试将此库用作CDN托管的依赖项: https://unpkg.com/googleapis@42.0.0/build/src/googleapis.js

使用: https://www.npmjs.com/package/webpack-cdn-inject

相关问题