Ras*_*man 1 javascript node.js express ecmascript-6 es6-modules
我决定在 NodeJS/Express 项目中使用新的 ES6 导出而不是使用模块导出。我正在阅读 MDN 文档,它说导出的使用方式如下:
export function draw(ctx, length, x, y, color) {
ctx.fillStyle = color;
ctx.fillRect(x, y, length, length);
Run Code Online (Sandbox Code Playgroud)
在这里,我尝试在此app.get函数中以相同的方式使用它,但我的编辑器抛出语法错误。我应该使用不同的格式吗?- 我本质上是试图将路由容器分成单独的文件进行组织 - 然后最后将它们导入到我的主 app.js 文件中,以便使用 Express 进行路由声明。
export app.post('/exampleroute', async (req, res) => {
...
});
// Error: Declaration or Statement expected.
Run Code Online (Sandbox Code Playgroud)
您必须导出一个值(默认值或命名变量)。
的返回值app.post()没有用。
要么导出函数:
export const myRouteHandler = async (req, res) => {
...
};
Run Code Online (Sandbox Code Playgroud)
进而:
import { myRouteHandler } from "./myModule";
app.post('/exampleroute', myRouteHandler)
Run Code Online (Sandbox Code Playgroud)
或者,导出路由器:
import express from 'express';
export const router = express.Router();
router.post('/exampleroute', async (req, res) => {
...
});
Run Code Online (Sandbox Code Playgroud)
然后导入并使用它:
import { router } from "./myModule";
app.use("/", router);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2319 次 |
| 最近记录: |