2016-11-07 66 views
1

我正在尝试将一个NodeJS应用程序部署到Azure。一切正常,包括反应。但是当我尝试点击GraphQL服务器时,出现404错误Azure服务器上的GraphQL

您正在查找的资源已被删除,名称已更改或暂时不可用。

任何想法?

这里是我的index.js

'use strict' 
require('babel-core/register') 
import schema from './data/schema' 
import GraphQLHTTP from 'express-graphql' 
import express from 'express' 
const multer = require('multer') 
const insert = require('./business/insert') 
const app = express() 
const port = process.env.PORT || 8080 
var bodyParser = require('body-parser') 

app.use(bodyParser.json()) // support json encoded bodies 
app.use(bodyParser.urlencoded({ extended: true })) // support encoded bodies 
app.use('/graphql', GraphQLHTTP({ 
    schema, 
    graphiql: true 
})) 

app.use(express.static('public')) 
app.set('view engine', 'html') 

var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
    cb(null, 'public/upload/') 
    }, 
    filename: function (req, file, cb) { 
    cb(null, Date.now() + '.xlsx') 
    } 
}) 

var upload = multer({ storage: storage }) 

app.get('/', (req, res) => { 
    res.render('index') 
}) 

app.listen(port,() => { 
    console.log('Listening http://localhost:8080') 
}) 

回答

0

本文件https://babeljs.io/docs/usage/require/来看,似乎工装ES6只有通过下一级发生需要

通过节点与所需的所有后续文件扩展名.es6,.es,.jsx和.js将由Babel转换。

所以,你需要这样的事情,而不是:

// app.js 
'use strict' 
require('babel-core/register') 
require('./index') 

// index.js 
import schema from './data/schema' 
import GraphQLHTTP from 'express-graphql' 
import express from 'express' 
const multer = require('multer') 
const insert = require('./business/insert') 
const app = express() 
const port = process.env.PORT || 8080 
var bodyParser = require('body-parser') 

app.use(bodyParser.json()) // support json encoded bodies 
app.use(bodyParser.urlencoded({ extended: true })) // support encoded bodies 
app.use('/graphql', GraphQLHTTP({ 
    schema, 
    graphiql: true 
})) 

app.use(express.static('public')) 
app.set('view engine', 'html') 

var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
    cb(null, 'public/upload/') 
    }, 
    filename: function (req, file, cb) { 
    cb(null, Date.now() + '.xlsx') 
    } 
}) 

var upload = multer({ storage: storage }) 

app.get('/', (req, res) => { 
    res.render('index') 
}) 

app.listen(port,() => { 
    console.log('Listening http://localhost:8080') 
}) 
+0

谢谢格里菲斯,我将在数分钟试试这个 –