提问人:gorsahakyan10 提问时间:11/14/2023 更新时间:11/14/2023 访问量:39
Nodemon 只运行索引 .js 文件
nodemon runs only index.js file
问:
在我的package.json文件中的脚本部分写着“start”:“nodemon index.js”,但是在我的项目中还有其他文件处理来自客户端的请求,问题是只有文件中定义的那些路由才能工作索引.js,为什么会这样以及如何解决?
我尝试将其他文件的代码放入函数中,然后导出这些函数并将它们导入到 index.js 文件中并调用它们。在那之后他们才开始工作,但在我看来,这是非常错误的。我希望其他文件中的代码也能工作,但不要将其导入索引 .js 文件中,因为在我看来,随着时间的推移,索引 .js 文件会变得非常大
import express from "express";
const app = express();
const PORT = 8000;
import authorization from "./authorization.js";
import { connect_to_mysql } from "./connect_to_mysql.js";
import registration from "./registration.js";
app.use("/public", express.static("public"));
(async function() {
await connect_to_mysql();
await authorization();
await registration();
await upload();
app.listen(PORT, () => console.log("server started"));
})()
export { app, express };
答:
0赞
Alexxino
11/14/2023
#1
在脚本中,您只能使用文件运行,而不使用其他文件。最正确的方法是使用 express 类生成其他端点(位于不同的文件中)或将函数从其他文件导出到 。此文件是唯一应该运行的文件,但您可以重构代码,以便将其划分为不同的文件。npm
nodemon
index.js
Router
index.js
0赞
Tal Rofe
11/14/2023
#2
在使用 ESModules 时,您有起点(例如文件),并且您要使用的每个文件都必须导出某些内容并导入到某个地方。否则,该文件将未被使用。index.js
如果您不想使文件过载,只需在单独的文件中创建一个快速路由器:index.js
import express from "express";
const router = express.Router();
router.post("/example", (req, res) => res.send());
export default router;
然后使用这个路由器(在文件中):index.js
import express from "express";
import router from "./routers/example";
const app = express();
app.use("/example", router);
评论