V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
wjx0912
V2EX  ›  JavaScript

export 问题请教

  •  
  •   wjx0912 · 2022-03-05 20:05:05 +08:00 · 1424 次点击
    这是一个创建于 754 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要 export 的函数非常多,差异就是 js 函数名和 URL 地址,c 语言里面有宏,js 有木有好点的处理方法呢?

    7 条回复    2022-03-07 15:18:16 +08:00
    NessajCN
        1
    NessajCN  
       2022-03-06 10:08:12 +08:00
    如果你有用框架的话,这种不同 api 配不同函数的方法在 nextjs 里一般是用 dynamic api route 来实现的。
    像是你这里 api 的路径可以是 /api/monitor/jobLog/[job].js
    这里的[job]就可以作为 req.query 变量直接在代码里用,根据不同名字 swtich 不同函数就行
    譬如你向 /api/monitor/jobLob/list 发请求,那么 req.query.job 和这个变量就被赋值成"list",再根据条件找函数
    aleen42
        2
    aleen42  
       2022-03-06 13:21:23 +08:00 via Android
    esm 確實還沒支持 dynamic export ,只有 dynamic import (`import()`)

    你可以考慮改用 ConmonJS
    JuzerQ
        3
    JuzerQ  
       2022-03-06 14:47:20 +08:00
    用 ejs 就可以,写了个 demo 给你
    https://github.com/qijizh/ejs-demo
    wjx0912
        4
    wjx0912  
    OP
       2022-03-07 09:13:18 +08:00
    @NessajCN 谢谢,dynamic api route 是个不错的思路
    wjx0912
        5
    wjx0912  
    OP
       2022-03-07 09:14:04 +08:00
    @aleen42
    esm 確實還沒支持 dynamic export ---> 这正是我想知道的答案,现在知道怎么做了。谢谢了
    wjx0912
        6
    wjx0912  
    OP
       2022-03-07 09:15:10 +08:00
    @JuzerQ 完美解决方案,请受我一拜~~~
    JuzerQ
        7
    JuzerQ  
       2022-03-07 15:18:16 +08:00 via Android
    @wjx0912 感谢采纳,正好了解这个库,第一次得到别人的肯定,挺开心的!像 vite ,vue/cli 这类工具好像就是通过一系列的脚本和 ejs 生成项目的,感觉 nodejs 的能力和 js 语言本身的便利性相互加持下,js 的应用范围真的太广泛了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5906 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:10 · PVG 10:10 · LAX 19:10 · JFK 22:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.