4

Utilisation de "serverless-webpack", en essayant de déployer. J'émets SLS_DEBUG=* sls deploy --verbose et tout va bien jusqu'à ce que:Débogage 'serverless-webpack': erreur GraphQL: les services Lambda-publishService ont lancé une erreur lors de l'appel

Serverless: Couldn't publish this deploy information to the Serverless Platform. 

    Error -------------------------------------------------- 

    GraphQL error: Lambda services-publishService threw an Error during invocation 

    For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable. 

    Stack Trace -------------------------------------------- 

Error: GraphQL error: Lambda services-publishService threw an Error during invocation 
    at new ApolloError (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/apollo-client/apollo.umd.js:1975:28) 
    at /Users/jamesfishwick/Documents/get-mobile-screen/node_modules/apollo-client/apollo.umd.js:2889:33 
    at <anonymous> 
    at process._tickDomainCallback (internal/process/next_tick.js:228:7) 
From previous event: 
    at fetchEndpoint.then.endpoint (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:168:16) 
From previous event: 
    at provider.getAccountId.then.accountId (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:119:51) 
From previous event: 
    at Platform.publishService (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/plugins/platform/platform.js:118:41) 
    at BbPromise.reduce (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:261:55) 
From previous event: 
    at PluginManager.invoke (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:261:22) 
    at PluginManager.run (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/classes/PluginManager.js:292:17) 
    at variables.populateService.then (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/Serverless.js:99:33) 
    at runCallback (timers.js:781:20) 
    at tryOnImmediate (timers.js:743:5) 
    at processImmediate [as _immediateCallback] (timers.js:714:5) 
From previous event: 
    at Serverless.run (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/lib/Serverless.js:86:74) 
    at serverless.init.then (/Users/jamesfishwick/Documents/get-mobile-screen/node_modules/serverless/bin/serverless:39:50) 
    at <anonymous> 

Pas tout à fait sûr où commencer.

Mon .babelrc est (à l'aide babel-préprogrammée env):

{ 
    "plugins": ["transform-runtime", "ramda"], 
    "presets": [ 
    [ 
     "env", 
     { 
     "targets": { 
      "node": "6.10" 
     }, 
     "modules": false, 
     "loose": true, 
     "debug": true 
     } 
    ] 
    ] 
} 

"Mon webpack.config.js" est:

var nodeExternals = require('webpack-node-externals'); 

module.exports = { 
    entry: './handler.js', 
    externals: [nodeExternals()], // in order to ignore all modules in node_modules folder 
    target: 'node', 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, // in order to ignore built-in modules like path, fs, etc. 
     loaders: ['babel-loader'], 
     include: __dirname, 
     }, 
    ], 
    }, 
}; 

(pertinente) "serverless.yml" est :

service: get-mobile-screen 

provider: 
    name: aws 
    runtime: nodejs6.10 

custom: 
    webpackIncludeModules: 
    packagePath: './package.json' 

functions: 
    index: 
    handler: handler.getMobileScreen 
    events: 
     - http: GET getMobileScreen 

plugins: 
    - serverless-webpack 
    - serverless-offline 
+0

L'avez-vous exécuté à nouveau avec SLS_DEBUG = *? –

+0

oui, voir la première phrase. –

+0

Désolé, mon mauvais. J'ai transposé les sls et *. –

Répondre

2

Je pense le problème est que la bibliothèque apollo-client utilise Rollup à p roduire un UMD ... et webpack rencontre des problèmes avec l'UMD. Génial, que faites-vous?

This Le plugin Webpack peut le réparer. Si non ... pouvez-vous partager le code qui utilise le client apollo?

+0

Cela sera sans doute utile à quelqu'un. Probablement moi dans le futur;) Problème était en fait un bug dans serverless-webpack –