2

Ich möchte einige npm-Pakete in meinem Chatbot installieren, aber ich kann das nicht funktionieren.Wie installiere ich npm-Pakete in Google Dialogflow Fullfilment Inline-Editor

package.json Datei sieht wie folgt:

{ 
    "name": "dialogflowFirebaseFulfillment", 
    "description": "This is the default fulfillment for a Dialogflow agents using Cloud Functions for Firebase", 
    "version": "0.0.1", 
    "private": true, 
    "license": "Apache Version 2.0", 
    "author": "Google Inc.", 
    "engines": { 
    "node": "~6.0" 
    }, 
    "scripts": { 
    "start": "firebase serve --only functions:dialogflowFirebaseFulfillment", 
    "deploy": "firebase deploy --only functions:dialogflowFirebaseFulfillment" 
    }, 
    "dependencies": { 
    "actions-on-google": "^1.5.x", 
    "firebase-admin": "^4.2.1", 
    "firebase-functions": "^0.5.7", 
    "apiai": "^4.0.3" 
    } 
} 

In index.js ich habe:

var jsonQuery = require('json-query'); 

Die Protokolle sagt: dialogflowFirebaseFulfillment Funktion Ladefehler: Code in der Datei index.js können nicht geladen werden. Haben Sie alle erforderlichen Module im Paket aufgelistet.json

Eine Idee?

Antwort

1

Der Fehler kam, weil Sie nicht Paket ‚json-query‘

laufen unter Befehl nach allen adaequat enthalten waren.

+0

wo schreibe ich diesen Befehl? Ich sehe keinen Ort, wo ich solche Befehle vom Inline-Editor schreiben kann. Gibt es eine andere Möglichkeit, die Pakete im Dialogflow zu installieren? – Mizlul

+0

Ja, Sie können '' 'json-query''' dieses Paket zu Ihrer package.json Datei hinzufügen –

0

Antwort ist einfacher als Sie denken würden (und @Dhaval erwähnt es). Sie haben nur den Namen des npm Paket enthalten in package.json:

{ 
"some": "crazyPropsFoo", 
"engines": {}, 
"scripts": {}, 
"dependencies": { 
    "actions-on-google": "^1.5.x", 
    "firebase-admin": "~4.1.2", 
    "firebase-functions": "~0.5", 
    "npmpackage": "1.8.0",  //Here it is 
    "apiai": "^4.0.3" 
    } 
} 

Dann require dass Paket in Ihrer index.js Datei:

var PackageObj = require("npmpackage").PackageObject; 
var yourVar = new PackageObj();