# nodejs_dynamic_call **Repository Path**: uidoer/nodejs_dynamic_call ## Basic Information - **Project Name**: nodejs_dynamic_call - **Description**: bit ai 动态脚本调用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: http://dy.redom.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-19 - **Last Updated**: 2025-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nodejs, script ## README # 题目:动态脚本调用 ` /scripts ` 目录中,存放任意的 js 模块: ```javascript /scripts * duck.js * cat.js ... 更多文件 ``` 例如: ```javascript // file: duck.js exports.sayHi = (greeting, name) => { return `${greeting} ${name} says hi! duck! duck!` } exports.walk = (name) => { return `Duck ${name} is walking` } // ...更多函数 ``` ```javascript // file: cat.js exports.sayHi = (greeting, name) => { return `${greeting} ${name} says hi! meow! meow!` } exports.walk = (name) => { return `Cat ${name} is walking` } // ...更多函数 ``` ** scripts 里面的模块的是数量是随时增加的,模块里面的函数也是不固定的。 ** 功能: 1. 请提交一个工程,启动一个 http://localhost:8080 的服务器,展示一个前端界面。 2. 在界面中输入【模块.函数调用代码】,可执行 `scripts` 中模块的函数,并且返回展示到前端。 例如,输入 `cat.walk("tomy")` 会调用 `scripts/cat.js` 里面的 `walk` 函数并且传入 "tomy" 参数。 请参考,本项目实现, [线上效果](http://dy.redom.cn) 要求(请仔细阅读): - [下载 interview.zip](https://gitee.com/uidoer/nodejs_dynamic_call/raw/main/interview.zip) 作为工程目录,请修改目录中的 main.js 即可,修改后打包请提交一个 “<姓名>.zip” 文件。解压后的文件夹需要是你的姓名。 - `node main.js` 需要启动一个 http://localhost:8080 展示上面的页面 - 不能用 eval - 在不重启服务器的情况下,在 scripts 里面修改函数或者增加模块,依然可以调用修改后的函数或者模块。 - 例如在 cat.js 里面新增一个函数,不需要重启服务器也可以在前端界面动态调用这个函数。 - 例如在 scripts 里面新增一个 dog.js 文件,不需要重启服务器也可以在前端界面动态调用 dog.xxx()。 - 请提交前自行验证和测试已经满足需求。 - 把每次执行的结果存储到 SQLite 中,表:id,call_string(前端输入的内容), result(函数执行结果) - 时间限制 2 小时