我有以下目录结构:
src
|- server
|- myServer.ts
|- views
|- myView.hbs
dist
|- server
|- myServer.js
请注意views
文件夹中没有dist
文件夹(从typescript编译的js源代码是)。这是一个问题,因为当我从javascript中请求../views/selectCoin.hbs
时,没有任何内容。
编译打字稿时,如何将*.hbs
个文件导出到javascript?
答案 0 :(得分:1)
要告诉车把哪里有视图,你可以像这样配置
app.set('view engine', 'hbs');
app.set('views', path.join(__dirname, '../../src/server/views'));
app.engine('hbs', exphbs({
defaultLayout: 'index',
extname: 'hbs',
layoutsDir: path.join(__dirname, '../../src/server/views/layouts'),
partialsDir: path.join(__dirname, '../../src/server/views'),
}));
因此它会在src
文件夹中查找视图。
另一种选择是使用ts-node
代替node
。有了它,你不需要编译你的项目,你不需要一个dist文件夹,你可以配置它直接从你的位置看:
app.set('view engine', 'hbs');
app.set('views', path.join(__dirname, 'views'));
app.engine('hbs', exphbs({
defaultLayout: 'index',
extname: 'hbs',
layoutsDir: path.join(__dirname, 'views/layouts'),
partialsDir: path.join(__dirname, 'views'),
}));
如果您想将视图复制到dist文件夹,您可以: