我有以下文件结构
.
├── package.json
├── public
│ ├── fonts
│ │ └── AppleColorEmoji.ttf
│ └── images
│ ├── favicon.ico
│ └── ico.svg
├── src
│ ├── application.js
│ ├── controllers
│ │ ├── event.controller.js
│ │ └── user.controller.js
│ ├── database.js
│ ├── index.js
│ ├── middlewares
│ │ ├── auth.middleware.js
│ │ └── error.middleware.js
│ ├── models
│ │ ├── event.model.js
│ │ ├── token.model.js
│ │ └── user.model.js
│ ├── routers
│ │ ├── index.js
│ │ └── user.router.js
│ ├── services
│ │ ├── auth.service.js
│ │ └── event.service.js
│ └── views
│ ├── pages
│ │ ├── 404.ejs
│ │ ├── events.ejs
│ │ ├── index.ejs
│ │ ├── login.ejs
│ │ └── submit.ejs
│ └── partials
│ ├── footer.ejs
│ ├── head.ejs
│ └── header.ejs
└── yarn.lock
并尝试使用 esbuild 通过以下命令来发送此应用程序(express + ejs)
package.json
...
"build": "esbuild src/index.js --platform=node --bundle --minify --outfile=dist/index.js",
...
这会在
index.js
文件夹中生成单个文件 dist
。该程序运行,但是当我进行任何操作来查看视图时。它抛出 500 http 状态。你们知道如何解决这个问题吗?
我通过复制
views
内的 dist
文件夹修复了此问题。
我使用路径宏来假定当前工作目录,因此无论我移动文件到哪里,它都可以工作。它只需要视图文件夹。
我不知道为什么我认为 esbuild 也会转译 ejs 文件