Не удается импортировать @ google / pubsub и другие модули @google npm в Node.js 13.6 - PullRequest
1 голос
/ 20 января 2020

Я работаю над проектом iot, и мне нужно использовать модуль @ google-cloud / pubsub npm в моем приложении. js файл! Я хотел бы использовать Node.js 13.6.0 как Node.js версию с модулями ECMAScript!

// TypeError: PubSub is not a constructor 
import PubSub from '@google-cloud/pubsub';

// SyntaxError: module does not provide an export name 'PubSub'
import { PubSub } from '@google-cloud/pubsub';

// ReferenceError: require is not defined 
const PubSub = require('@google-cloud/pubsub');

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

На самом деле я использую:

'use strict';
// Google Cloud PubSub  
const {PubSub} = require('@google-cloud/pubsub');
// Creates a client; cache this for further use
const pubSubClient = new PubSub();
0 голосов
/ 23 января 2020

Мне удалось импортировать PubSub, используя первый подход, с Node.js 13.6.0:

// app.js
import PubSub from '@google-cloud/pubsub';
console.log(PubSub);

// Output
$ node app.js 
(node:17508) ExperimentalWarning: The ESM module loader is experimental.
{
  v1: {
    PublisherClient: [Function: PublisherClient],
    SubscriberClient: [Function: SubscriberClient]
  },
  IAM: [Function: IAM],
  PubSub: [Function: PubSub],
  Snapshot: [Function: Snapshot],
  Message: [Function: Message],
  Subscription: [Function: Subscription],
  Topic: [Function: Topic]
}

Вы установили клиентскую библиотеку Node.js Cloud Pub / Sub?

npm install --save @google-cloud/pubsub
...