天蓝色服务器上的GraphQL

时间:2016-11-07 17:34:40

标签: node.js azure reactjs graphql

我正在尝试将NodeJS App部署到Azure。一切都很好,包括反应。但是当我试图点击GraphQL服务器时,我得到了404错误

您要查找的资源已被删除,名称已更改或暂时无法使用。

任何想法?

这是我的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')
})

1 个答案:

答案 0 :(得分: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')
})