Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Javascript 我可以从应用程序将cors扩展到路由器吗?_Javascript_Node.js_Express_Cors - Fatal编程技术网

Javascript 我可以从应用程序将cors扩展到路由器吗?

Javascript 我可以从应用程序将cors扩展到路由器吗?,javascript,node.js,express,cors,Javascript,Node.js,Express,Cors,我有两个问题: 我可以在我的server.js中使用cors()一次,而不是在所有路由器文件中调用和使用它吗 我可以在我的server.js中要求express一次,而不是在所有路由器文件中调用它吗 Myserver.js现在可以像下面这样处理COR,但是应用程序也可以处理用户路由器 server.js处理对/ routers/users.js处理对/users 如果我不使用router.use(cors())当我访问/api/v1/users 是的,整个应用程序只需使用cors()一次 不

我有两个问题:

  • 我可以在我的
    server.js
    中使用
    cors()
    一次,而不是在所有路由器文件中调用和使用
    它吗
  • 我可以在我的
    server.js
    中要求
    express一次,而不是在所有路由器文件中调用它吗
My
server.js
现在可以像下面这样处理COR,但是
应用程序
也可以处理
用户
路由器

server.js
处理对
/

routers/users.js
处理对
/users

如果我不使用
router.use(cors())
当我访问
/api/v1/users

  • 是的,整个应用程序只需使用cors()一次
  • 不,如果您要在单独的文件中隔离您的路线,则需要在每个文件中
    要求
    express
  • 文件夹结构:

    + index.js
    + routers
      + users.js
      + server.js
    + controllers
      + user_controller.js
    
    index.js文件的外观应为:

    const cors=require('cors');
    const express=require('express');
    const serverRoutes=require('./路由器/服务器');
    常量app=express();
    //允许跨源访问。
    应用程序使用(cors());
    app.use(“/”,serverRoutes);
    
    您的server.js文件应该是什么样子的:

    const router=require('express').router();
    const userRoutes=require(“./users”);
    路由器。使用('/api/v1/user',userRoutes);//注册用户路由器
    module.exports=路由器;
    
    您的user.js文件应该是什么样子的:

    const router=require('express').router();
    const userController=require('../controllers/user_controller');
    路由器.get(“/”,(请求,res)=>{
    userController.list(req,res);//或任何代码。
    });
    module.exports=路由器;
    
    Register
    app.use(cors())在创建express应用程序后进行修改。这就是我在
    server.js
    中所做的。你的意思是我不必做
    路由器。然后在其他路由器文件中使用(cors())
    ?提供将路由器注册到express应用程序的方式。我使用
    应用程序。使用('/api/v1/user',users)
    ,这也在我的问题中更新。很抱歉遗漏了这一点。您在浏览器上的错误是什么?
    const cors = require('cors'); // Required again
    const express = require('express'); // Required again
    const router = express.Router();
    router.use(cors());
    
    + index.js
    + routers
      + users.js
      + server.js
    + controllers
      + user_controller.js