node.js - 车把助手未使用 gulp 评估,带有 express-handlebars 的 webpack
问题描述
我express-handlebars
在我的项目中使用。
只有当我将我的文件符号链接/dist
到我的/src
文件时,我才能评估车把(使用工作助手)——如果这有意义的话。静态复制*.hbs
的文件/dist
没有调用我的辅助函数。
我究竟做错了什么?我是车把和 JS express 模板的新手。希望有一些简单的我不明白的东西。
我的服务器代码:
import * as expressHandlebars from 'express-handlebars'
const appId = "THE APPLICATION ID"
const handlebars = expressHandlebars.create({
extname: '.hbs',
helpers: {
appId: () => {
console.log("HELPER CALLED!!!")
return appId
},
},
defaultLayout: 'false',
})
express.engine('.hbs', handlebars.engine)
express.set('view engine', '.hbs')
express.set('views', path.join(__dirname, 'views'))
express.get('/tab/example', (_req, res) => {
res.render('tabs/example', { layout: false })
})
我的/dist
目录包含该文件,该文件被评估:
dist/views/tabs/example.hbs
此示例包含代码:
<p>{{appId}}</p>
我期待两件事不会发生:
- 使用“HELPER CALLED!!!”调用console.log
- 包含文本“应用程序 ID”的页面
如果我从to符号链接会发生这种情况,但如果我将文件(使用 gulp)复制到.dist/views
app/src/views
dist/views
我在这里想念什么?谢谢!
请注意,express 正在从日志中呈现视图:
express:view lookup "task-modules/sign-in/example.hbs" +7ms
express:view stat "views/task-modules/sign-in/example.hbs" +1ms
express:view render "views/task-modules/sign-in/example.hbs" +0ms
(为了安全起见,我删除了一些 stat 和 render 的路径)
解决方案
推荐阅读
- c++ - 如何输出/输入多字节符号?
- javascript - Mongoose 返回过滤结果
- sql - 如何在 MS Access 中编写显示同一客户的多个交易的 SQL 代码
- angular - 保存 3 个表单,一次提交 Angular 10
- visual-studio-code - 如何从 VS Code 的快速打开面板中删除“最近打开”列表?
- json - 使用 JOLT 转换库重命名嵌套在另一个数组中的数组中的字段
- php - 更新不起作用时 Laravel 保存(奇怪的行为)
- git - 当我将 GitLab 存储库转移(推送)到新创建的 GitHub 时,删除的文件仍然存在
- react-native - 弹出到裸博览会无法在 iOS 模拟器上安装
- c# - 将布尔值发布到 ASP.NET Core 5 控制器失败为“真”但不是真的