CommonJS、require、moudle实现两个文件传参

文章讲述了在大型Express项目中,通过将app.js拆分为模块化文件,如router.js,实现参数传递和路由管理的方法。通过导入和导出,将app.js中的路由逻辑分解,提高了代码可维护性。
摘要由CSDN通过智能技术生成

目的:实现两个文件传参

文件A给B传入一个参数,并且文件B代码执行后再传回A。

场景

拆分express项目中的app.js文件中的路由、项目越大会使app.js文件变大,复杂

如何使用

app.js文件

  • 导入路由文件
  • 调用路由文件,调用的时候传入参数app
const baseRouter = require('./routes/router');
baseRouter(app);

routes/router.js

  • 定义一个函数并传入app.js传过来的参数
  • 引入路由
  • 使用use()方法定义
  • 最后导出
function baseRoute (app) {
    // 商城admin
    const sesameAdminEmployeeRouter = require('./sesameAdmin/employee/index');
    const sesameAdminAuthorityRouter = require('./sesameAdmin/authority/index');

    app.use('/sesame/admin/employee', sesameAdminEmployeeRouter);
    app.use('/sesame/admin/authority', sesameAdminAuthorityRouter);

}
module.exports = baseRoute;
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`js.commonjs-require-cwd` 数用于指定 CommonJS 模块的当前工作目录。默认情况下,该数设置为 `false`,表示使用 Node.js 的默认行为。如果需要自定义当前工作目录,可以将该数设置为一个字符串,表示当前工作目录的绝对路径。 例如,如果你的项目文件结构如下: ``` my-project/ ├── node_modules/ ├── src/ │ ├── index.js │ └── utils/ │ └── helper.js └── package.json ``` 其中,`index.js` 文件中使用了 `helper.js` 模块: ```js const helper = require('./utils/helper'); ``` 如果你想要在 Webpack 中模拟 Node.js 的 `__dirname` 行为,可以将 `js.commonjs-require-cwd` 数设置为 `__dirname`,如下所示: ```js module.exports = { // ... module: { rules: [ { test: /\.js$/, loader: 'babel-loader', options: { presets: ['@babel/preset-env'], }, }, ], }, resolve: { fallback: { path: require.resolve('path-browserify'), }, }, experiments: { asyncWebAssembly: true, }, output: { globalObject: 'this', }, // 设置 js.commonjs-require-cwd 数 // 表示使用当前文件所在的目录作为 CommonJS 模块的当前工作目录 // 这样可以模拟 Node.js 的 __dirname 行为 experiments: { asyncWebAssembly: true, }, output: { globalObject: 'this', }, // 设置 js.commonjs-require-cwd 数 // 表示使用当前文件所在的目录作为 CommonJS 模块的当前工作目录 // 这样可以模拟 Node.js 的 __dirname 行为 node: { __dirname: true, }, // ... }; ``` 这样,在 Webpack 中编译 `index.js` 文件时,`helper.js` 模块的路径就会根据 `index.js` 文件所在的目录来解析。如果 `js.commonjs-require-cwd` 数设置为 `false`,则 `helper.js` 模块的路径会根据 Webpack 的当前工作目录来解析,可能会导致路径不正确的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值