Node,Angular,Express和视图引擎

Jay*_*enu 18 node.js express angularjs

我最近开始使用Angular,Node和Express.我在Angular中制作了一些基于浏览器的应用程序,并尝试将它们移植到Node和Express中的服务器应用程序.(特别是,一个人将从Twitter获取数据,另一个人从Wikidot获取数据.)

由于我使用Angular进行数据注入和模板化,我不想使用其他视图引擎,如EJS或Jade.我想使用我已编写的HTML/Angular代码尽可能少的修改.我很困惑为什么Express要求我有一个视图引擎.

将此代码作为Node/Express应用程序运行的最简单方法是什么?

bak*_*kal 5

由于您使用的是 AngularJS,我认为您不太关心 Express 的视图引擎,例如,如果您使用 Express 来呈现 HTML,那就更好了。也许你只是用它来将你的初始 HTML(带有指向所有 .js、.css 等的链接)加载到浏览器(服务器端模板渲染)中,其余的工作是通过 AngularJS 与你的 Express 的 HTTP 通信来完成的服务

简单的方法是让你从 Express 返回 JSON,试试这个功能http://expressjs.com/api#res.json

使用 AngularJS 与 Express 通信,AngularJS 在浏览器上渲染有趣的东西(客户端模板渲染等)

  • 通过这个答案,我假设我将直接调用 HTML 文件,而不是让 Node.js 将其解释为模板。那是对的吗?如果是这样,我如何阻止 Node 尝试解释它? (2认同)

Jay*_*enu 5

我正在寻找的答案是这行代码.

app.engine('html', require('ejs').renderFile);
Run Code Online (Sandbox Code Playgroud)

  • 但是通常设置的其他内容呢:是否有必要使用以下内容:app.set('views',..)`?或这样:`app.use('/',express.static('./ public'));` (2认同)