我们可以合并带角4的车把js吗?我们可以使用这两个框架构建应用程序吗?我们可以使用电子商务,银行,CMS等项目等手柄构建哪些类型的项目?
答案 0 :(得分:1)
是的,您可以将handlebars.js与Angular合并。主要问题是设置路由。 Angular被设计为单页面应用程序(SPA),除非特别转义,否则将捕获所有路由,这可以使用您自己的自定义后端(例如Node.js)来完成。然后,您可以将此转义路线连接到特定的.handlebars
网页。
以下是使用NodeJS,Express和express-handlebars执行此操作的常规server.js
文件:
// Dependencies
const express = require('express');
const exphbs = require('express-handlebars');
// Configuration
const app = express();
const port = process.env.PORT || 3000;
// Routes
const angular = require('./node_src/routes/angular');
const api = require('./node_src/routes/api');
// View engine
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
// Angular Route
const angularBuildPath = path.resolve(__dirname, '/dist');
app.use(express.static(angularBuildPath));
app.get('*', function (req, res, next) {
if (req.url.startsWith('/my-handlebars-page')) return next(); // ESCAPED ROUTE
res.sendFile(path.join(angularBuildPath, 'index.html'))
});
// ESCAPED ROUTE
app.get('/my-handlebars-page', function (req, res) {
res.render('home');
});
// Start Server
app.listen(port, () => console.log(`Server started on port ${port}`));