首页 > 解决方案 > NextJS 多个公用文件夹

问题描述

我正在使用 NextJs 服务器,我需要有两个不同的公共资产文件夹。已经使用常规/public文件夹来提供一些资产,但现在我需要添加第二个公共文件夹,该文件夹位于服务器的其他位置

我的代码

const express = require('express');
const next = require('next');
const expressApp = express();

const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare()
    .then(() => {

        expressApp.all('*', (req, res) => {
            return handle(req, res);
        });


        expressApp.use(express.static('/usr/local/somewhereelse/assets', {caseSensitive: true}));


        spdy.createServer(httpsOptions, expressApp)
            .listen(port, (err) => {
                if(err) { 
                    throw err; 
                }
                console.log('Listening @:' + port);
            });

    });

我在这里想念什么?

提前致谢 :)

标签: next.js

解决方案


大家,菜鸟的错误我需要在通配符之前添加静态路由。

app.prepare()
    .then(() => {
        expressApp.use(express.static('/usr/local/somewhereelse/assets', {caseSensitive: true}));

        expressApp.all('*', (req, res) => {
            return handle(req, res);
        });

        spdy.createServer(httpsOptions, expressApp)
            .listen(port, (err) => {
                if(err) { 
                    throw err; 
                }
                console.log('Listening @:' + port);
            });

    });

推荐阅读