Node.js中如何实现单文件定义的函数在多文件中全局复用?
步骤1:修改checkIfLogin.js添加导出逻辑
根据你项目使用的模块规范二选一即可:
- 如果你用的是Node.js默认CommonJS规范,在文件末尾添加:
module.exports = authCheck
- 如果你用的是ES Module规范(
package.json中配置了"type": "module"),在文件末尾添加:
export default authCheck
步骤2:在根目录index.js中统一注册导出
在主入口文件中完成导入后对外暴露,后续所有业务文件都可以直接从该入口引入:
CommonJS版本
// 按你的实际文件相对路径调整导入路径 const authCheck = require('./checkIfLogin.js') // 在原有导出配置中追加authCheck module.exports = { // 保留你原有的其他导出内容 authCheck }
ES Module版本
// 按你的实际文件相对路径调整导入路径 import authCheck from './checkIfLogin.js' // 在原有导出配置中追加authCheck export { // 保留你原有的其他导出内容 authCheck }
步骤3:在业务文件中调用
在dashboard.js、clients.js等需要鉴权的文件中,直接从根入口导入即可使用:
CommonJS版本
// 按当前文件到根目录index.js的相对路径调整导入路径 const { authCheck } = require('../index.js') // 路由中直接作为中间件使用即可 router.get('/dashboard', authCheck, (req, res) => { // 业务逻辑 })
ES Module版本
// 按当前文件到根目录index.js的相对路径调整导入路径 import { authCheck } from '../index.js' // 路由中直接作为中间件使用即可 router.get('/clients/list', authCheck, (req, res) => { // 业务逻辑 })
内容的提问来源于stack exchange,提问作者helplessdev
相关产品推荐
相关产品推荐

