4

尝试部署时使用“serverless-webpack”。我发出SLS_DEBUG=* sls deploy --verbose,一切正常:调试'serverless-webpack':GraphQL错误:Lambda services-publishService在调用期间抛出一个错误

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> 

不完全确定从哪里开始。

我.babelrc是(使用巴别预置-ENV):

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

我 “webpack.config.js” 是:

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, 
     }, 
    ], 
    }, 
}; 

(相关) “serverless.yml” 是:

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

你用SLS_DEBUG = *再次运行它吗? –

+0

是的,看第一句话。 –

+0

对不起,我的坏。我转换了sls和*。 –

回答

2

认为的问题是,阿波罗的客户端库使用汇总至p导演UMD ...和webpack在UMD上遇到麻烦。太好了,你做什么?

This Webpack插件可能会修复它。如果不是,你可以分享使用apollo客户端的代码吗?

+0

这对一些人来说无疑是有帮助的。或许我在将来;)问题实际上是无服务器webpack中的一个错误 –