pkg打包nodejs程序用动态require路由出现问题

动态路由问题

pkg打包的时候会自动生成一个虚拟路径/snapshot/…会导致你的路径出现一些问题
而项目中依据route文件夹下的文件动态use相应的router,这就需要动态require,但是这个require的路径会被虚拟路径代替导致取不到,所以可以使用写死声明router的方法

// 原来代码(动态根据路径require)
fs.readdirSync(__dirname).forEach(file => {if (file === 'index.js') {return}const route = require(`./${file}`)app.use(route.routes()).use(route.allowedMethods())})
// 可打包代码(直接写死)app.use(userRouter.routes()).use(userRouter.allowedMethods())app.use(xxxRouter.routes()).use(xxxRouter.allowedMethods())...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理解vue2中的watch监听

vue实例组件初始化过程中,在执行initState(vm)方法初始化状态时,判断options.watch有值时会进行initWatch(vm, options.watch)处理,然后对watch对象中的每个watch属性执行createWatcher方法 function initState(vm) {// 传入的watchif (opti…

华为OD机试 - 最多颜色的车辆(Java JS Python C C++)

须知 哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 文章目录 须知题目描述输入描述输出描述解析代码题目描述 在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。 三种颜色编…

线程与Task的区别 async和await关键字

任务Task和线程Thread的区别: 1、任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行。 2、任务跟线程不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线程池,但是任务相比线程池…

C++初阶---vector(STL)

1、vector的介绍和使用 1.1、vector的介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是…

为什么你选择成为一名程序员?

成为一名程序员,是基于多种因素的考量。 首先,对技术和创新的热爱是关键因素之一。编程是一种创造的过程,能够将抽象的想法转化为实际的应用程序和系统,这种创造的满足感令人着迷。 其次,编程领域的广阔发展前景也是…

MATLAB 普通场景的道路点云分割 (方法一)(56)

MATLAB 普通场景的道路点云分割(方法一) (56) 一、分割原理二、算法实现1.代码一、分割原理 基于这样一个认识:大部分情况下,点云都是分块去处理的,在某块点云场景中,点云区域不大,地面基本是水平分布的,不会有较大的坡度,因此将其认为是一个法向与Z轴大致平行的平…

前端开发语言种类说明

前端开发主要涉及的语言包括HTML、CSS、JavaScript,以及TypeScript和JQuery等流行工具和框架。这些语言和技术的详细介绍如下:12 HTML(HyperText Markup Language)。HTML是用于构建Web页面的标记语言,用于定义页面的结…

Python空间分析简明教程

数据世界是一个活生生的、会呼吸的事物。 当一个城市的犯罪率上升时,这是因为现实世界中有人在某个地方犯罪。 有警察局、住宅区和商业区、人口密度以及可以与位置相关联的人的地方。 所有这些东西都存在于数据框和表格之外的世界中。 空间分析使数据科学家能够回答…

实战环境-Activiti7从入门到专家(4)

背景 对于activiti7 已经有了感性认知,并且已经获得了源代码,梳理了核心的API。后面还有大量的内容,包括BPMN规范的落地,但是我们不能只停留在理论层次,需要从实际罗德的内容展开,因此需要构建实战环境。 …

WD西部数据正式通知客户:HDD与NAND继续涨价!

人工智能(AI)市场的快速增长引发了对数据存储的巨大需求。加之去年因市场环境因素导致HDD制造商减产,自去年下半年以来,高容量HDD供不应求,致使整体HDD价格显著上涨。据TechNews援引的行业消息指出,自去年第…

【测试开发学习历程】python高阶函数

目录 1 map()函数 2 reduce()函数 3 filter()函数 4 sorted()函数 1 map()函数 map()函数语法:map(function,iterable) 参数: function:函数 iterable:一个或多个序列 返回值:迭代器对象 作用:map(…

[每日算法 - 阿里机试] leetcode739. 每日温度

入口 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/daily-temperatures/descr…

定义一个函数:将输入字符串中最长的单词输出

#include <stdio.h> #include <string.h> int main(){ // 定义一个函数&#xff0c;用于判断字符是否为字母 int ab(char); // 定义一个函数&#xff0c;用于返回字符串中连续字母的最大长度起始位置 int lg(char[]); int i; char str[100…

windows安装charles抓包iphone

安装charles抓包iphone charles基础介绍windows安装 charles基础介绍 Charles 是在 PC 端常用的网络封包截取工具&#xff0c;在做移动开发时&#xff0c;我们为了调试与服务器端的网络通讯协议&#xff0c;常常需要截取网络封包来分析。除了在做移动开发中调试端口外&#xf…

不允许在constexpr函数中进行声明

这是我用pycharm在windows系统下复现sfm深度学习网络(Deep Two-View Structure-from-Motion Revisited&#xff09;遇见的问题&#xff0c;复现时有段代码pytorch扩展cuda/c&#xff0c;pycharm中出现C标准相关的报错如下&#xff1a; 在网上查找很久无果&#xff0c;后面通过…

strlen的模拟实现详解(三种办法)

文章目录 概要整体架构流程代码实现小结 概要 通过指针的运用和递归函数通过三种办法模拟实现strlen的功能 整体架构流程 第一种&#xff1a;&#xff08;计数器版&#xff09;通过指针的计算字符串的长度&#xff0c;通过while循环条件是指针不等于\0&#xff0c;来实现指针…

sipp单机压测freeswitch第4篇压测点对点呼叫

SIPp压测点对点呼叫&#xff0c;主要是使用官方提供的g711a.pcap模拟语音发起&#xff0c;在呼叫成功后Freeswitch播放一个音频文件可以是wav,SIPp后续开启Rtp回显功能&#xff0c;模拟双方相互发言 audioCall脚本xml 脚本大概意思是&#xff1a;发起成功后执行5分钟后自己挂断…

关于VMware虚拟机支不支持睿频技术的讨论

文章目录 概要名词解释超线程技术睿频技术虚拟化技术 整体测试流程测试平台 小结 概要 最近一直在研究基于Linux的虚拟机&#xff0c;目前看起来效果比在Windows上略差点&#xff0c;还没找到原因。我偶然发现在VMware这个虚拟机OS上CPU频率不对&#xff0c;我在疑惑这对于虚拟…

nginx配置实例-高可用主备模式

目录 什么是高可用&#xff1f; 解决的问题&#xff1f; 双机热备方案 keepalived是什么&#xff1f; 故障转移机制 环境准备 一、实现过程 1.1安装keepalived 安装好以后&#xff0c;将keepalived程序开启&#xff0c;并且加入到开机启动项中 1.2修改主机&#xff08;…

winform入门篇3 -- 手工创建窗口

手工创建窗口 Form, 窗口 可以手工创建一个窗口类 class MyFrom : Form { } 1.创建一个windows 窗体应用 这样就自动创建了一个窗体应用Form1 现在不使用这个自动创建的&#xff0c;手工写一个 2.手动创建 1.删除Form1.cs 2.添加 新建MyForm 类 让该类继承Form 在构造…