Javascript express子域的路由

Javascript express子域的路由,javascript,node.js,express,express-subdomain,Javascript,Node.js,Express,Express Subdomain,我正在使用 通过子域处理请求的路由器与不使用子域处理请求的路由器相同 我知道我的“app.js”设置是错误的。 我怎样才能解决这个问题?我想知道一个好方法。像这样: app.use(subdomain('banana', ('/about', bananaRouter); 如果这是一个简单的问题,请原谅我。我在我的国家找不到任何同样的问题。对不起 ///app.js const appleRouter=require('./routes/apple/index'); const appleAb

我正在使用

通过子域处理请求的路由器与不使用子域处理请求的路由器相同

我知道我的“app.js”设置是错误的。 我怎样才能解决这个问题?我想知道一个好方法。像这样:

app.use(subdomain('banana', ('/about', bananaRouter);
如果这是一个简单的问题,请原谅我。我在我的国家找不到任何同样的问题。对不起

///app.js
const appleRouter=require('./routes/apple/index');
const appleAboutRouter=require('./routes/apple/about');
const applePriceRouter=require(“./routes/apple/price”);
const bananaRouter=require('./路由/香蕉/索引');
const bananaAboutRouter=require('./routes/banana/about');
const bananaPriceRouter=需要(“./路线/香蕉/价格”);
const grapeRouter=require(“./routes/grape/index”);
const grapeAboutRouter=require('./routes/grape/about');
const grapePriceRouter=require(“./routes/grape/price”);
应用程序使用(子域('banana',bananaRouter));
应用程序使用(子域('grape',grapeRouter));
应用程序使用(“/”,应用程序外部程序);
app.use('/about',appleAboutRouter);
应用程序使用('/price',applePriceRouter);
应用程序使用(“/”,bananaRouter);
应用程序使用('/about',bananaAboutRouter);
应用程序使用('/price',bananaPriceRouter);
应用程序使用(“/”,grapeRouter);
应用程序使用('/about',grapeAboutRouter);
应用程序使用('/price',grapePriceRouter);
///routes/apple/index
const express=require('express');
const router=express.router();
router.get('/',函数(req,res,next){
res.send(‘我是苹果’);
});
module.exports=路由器;
///routes/apple/about
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“苹果味道不好。”);
});
module.exports=路由器;
///routes/apple/price
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“$1”);
});
module.exports=路由器;
///routes/banana/index
const express=require('express');
const router=express.router();
router.get('/',函数(req,res,next){
res.send(‘我是香蕉’);
});
module.exports=路由器;
///路线/香蕉/关于
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“香蕉很好吃。”);
});
module.exports=路由器;
///路线/香蕉/价格
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“$2”);
});
module.exports=路由器;
///routes/grape/index
const express=require('express');
const router=express.router();
router.get('/',函数(req,res,next){
res.send(‘我是葡萄’);
});
module.exports=路由器;
///路线/葡萄/关于
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“葡萄是紫色的”);
});
module.exports=路由器;
///路线/葡萄/价格
const express=require('express');
const router=express.router();
router.get('/view',函数(req,res,next){
res.send(“$3”);
});
module.exports=路由器;
预期行为2:

// http://localhost.com:3000/
I am Apple
// http://localhost.com:3000/about/view
Apples don't taste good.
// http://localhost.com:3000/price/view
$ 1

// http://banana.localhost.com:3000/
I am Banana
// http://banana.localhost.com:3000/about/view
Apples don't taste good. ** not Bananas are delicious. **
// http://banana.localhost.com:3000/price/view
'$ 1' ** not '$ 2' **

我创建的代码示例解决了您的问题:首先,您需要在/etc/hosts文件中添加几行代码。范例

127.0.0.1 banana.myapp.dev
127.0.0.1 myapp.dev
然后试着运行我为您编写的脚本:

//连接express
var express=需要(“express”);
var subdomain=require('express-subdomain');
var-app=express();
使用(express.json());
//设置子路由
app.sub_banana=express.Router();
app.use(子域('banana',app.sub_banana));
//顶层路由
应用程序获取(“/”,(请求,请求)=>{
res.send('我是苹果')
});
app.get('/about',(req,res)=>{
res.send('苹果味道不好')
});
//子域路由
app.sub_.get(“/”,(请求,请求)=>{
res.send('我是香蕉')
});
app.sub_.get('/about',(req,res)=>{
res.send('苹果不好吃。**香蕉不好吃。**')
});
//启动服务器
var http=require('http');
变量端口=3000
应用程序集(“端口”,端口);
var server=http.createServer(app);

监听(端口)我创建的代码示例解决了您的问题:首先,您需要在/etc/hosts文件中添加几行代码。范例

127.0.0.1 banana.myapp.dev
127.0.0.1 myapp.dev
然后试着运行我为您编写的脚本:

//连接express
var express=需要(“express”);
var subdomain=require('express-subdomain');
var-app=express();
使用(express.json());
//设置子路由
app.sub_banana=express.Router();
app.use(子域('banana',app.sub_banana));
//顶层路由
应用程序获取(“/”,(请求,请求)=>{
res.send('我是苹果')
});
app.get('/about',(req,res)=>{
res.send('苹果味道不好')
});
//子域路由
app.sub_.get(“/”,(请求,请求)=>{
res.send('我是香蕉')
});
app.sub_.get('/about',(req,res)=>{
res.send('苹果不好吃。**香蕉不好吃。**')
});
//启动服务器
var http=require('http');
变量端口=3000
应用程序集(“端口”,端口);
var server=http.createServer(app);
监听(端口)