Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FeathersJS:初始化应用程序后无法添加路由_Feathersjs - Fatal编程技术网

FeathersJS:初始化应用程序后无法添加路由

FeathersJS:初始化应用程序后无法添加路由,feathersjs,Feathersjs,新手FeathersJS用户在这里。我显然缺少一些关键的理解 我正在尝试使用MySQL模型创建一个简单的RESTAPI。我试图遵循中文档引用的代码结构。我在最初的应用程序中定义的路由。use()阻止工作,但不是在它之后定义的路由。这里是部分代码,其余的 当npm启动应用程序时,我没有收到任何错误。但是,我的/beer路线和这里定义的任何路线一样,都是404路线。我一直在通过导游寻找我误解的根源。但我有点困了 就像表示中间件的顺序一样(另外,对于Feather,configurecalls)也很重

新手FeathersJS用户在这里。我显然缺少一些关键的理解

我正在尝试使用MySQL模型创建一个简单的RESTAPI。我试图遵循中文档引用的代码结构。我在最初的
应用程序中定义的路由。use()
阻止工作,但不是在它之后定义的路由。这里是部分代码,其余的


当npm启动应用程序时,我没有收到任何错误。但是,我的
/beer
路线和这里定义的任何路线一样,都是404路线。我一直在通过导游寻找我误解的根源。但我有点困了

就像表示中间件的顺序一样(另外,对于Feather,
configure
calls)也很重要。对于生成的应用程序,
.configure(中间件)
必须在其他所有操作之后最后运行,因为它注册了一个
notFound
处理程序,该处理程序将抛出404错误。在此之后,任何中间件(错误处理程序除外)都不会运行。

为什么会这样?它清楚地回答了老年退休金计划的问题?
const app = feathers();
app.configure(configuration(path.join(__dirname, '..')));

app.use(compress())
  .options('*', cors())
  .use(cors())
  .use(favicon(path.join(app.get('public'), 'favicon.ico')))
  /* THIS ROUTE WORKS FINE */
  .use('/', serveStatic(app.get('public')))
  .use(bodyParser.json())
  .use(bodyParser.urlencoded({
    extended: true
  }))
  .configure(hooks())
  .configure(rest())
  .configure(socketio())
  .configure(models)
  .configure(services)
  .configure(middleware);

const appModels = app.get('models');
const beerOptions = {
  Model: appModels.beer,
  paginate: {
    default: 15,
    max: 50
  }
};

/* NEITHER OF THESE ROUTES WORK */
app.use('/beer', service(beerOptions));
// IF YOU DELETE THE DEFINITION ABOVE AND UNCOMMENT 
// THIS NEXT LINE, THE ROOT URL GIVES A 404
// app.use('/', serveStatic(app.get('public')));