“不是found"在浏览器中的明文,当试图渲染模板与swig对koajs
"not found" plaintext in browser, when trying to render template with swig on koajs
我正在使用node.js和swig模板引擎上的koajs来学习和编写web服务。目前,浏览器只加载"未找到"字样。在我试图将程序拆分为多个文件之前,代码工作了。在那之后,我试着让它工作,甚至把所有的东西都放在一个文件里,但没有成功。
在'./templates/base.html'的html文件确实存在。为了澄清,当我运行"node -harmony index.js"时,没有错误,我确实得到了"监听端口3000"的输出。但是当我尝试在浏览器中加载页面时,我得到纯文本"未找到"。
这是我的文件:
index.js:
var routes = require('./routes');
var server = require('./server');
routes.baseroute
server.init(3000);
server.js:
var serve = require('koa-static');
var koa = require('koa');
var app = koa();
var init = function(port){
app.use(serve('./public'));
app.listen(port);
console.log(''n ---> listening on port '+port);
};
exports.init = init;
routes.js:
var koa = require('koa');
var route = require('koa-route');
var views = require('./views');
var app = koa();
var baseroute = app.use(route.get('/', views.baseview));
exports.baseroute = baseroute;
views.js:
var swig = require('swig');
var data = require('./data');
var baseview = function*(){
var tpl = swig.compileFile('./templates/base.html');
this.body = tpl(data.basedata);
};
exports.baseview = baseview;
data.js:
var basedata = {user: 'testuser123'};
exports.basedata = basedata;
所以真正发生的是,当您将它们拆分到它们自己的文件中时,您在它们自己的文件中创建了一个单独的koa
实例。看到:- var app = koa();
在server.js
和routes.js
中,koa认为它们是独立的应用程序。在koa中可以有多个应用程序,但你必须挂载它们,以便它们有任何形式的链接。首先,找到要进行链接的主文件。我猜这是server.js
,并从他们的文件(route.js
)中暴露其他app
。现在,当你连接它们的时候,只要使用mount('/', require('./routes'));
和koa
就可以将它们连接成一个单元。总之:-
//routes.js
var koa = require('koa');
...
...
var app = koa();
app.use(route.get('/', views.baseview));
module.exports = app;
//server.js
var app = require('koa');
var mount = require('koa-mount');
var routes = require('./routes');
...
...
var init = function(port){
app.use(serve('./public'));
app.use(mount('/route', routes));
app.listen(port);
console.log(''n ---> listening on port '+port);
};
exports.init = init;
相关文章:
- 是否可以使用eclipseCDT代替vc++,以便使用SWIG调用node.js中的C++库
- Swig with Express.js 和 Node.js 的条件扩展标记
- JSON.parse() in Swig (Node.js)?
- 将 Swig 模板引擎应用于变量的内容
- Node,Express,Swig Template-HTML属性中的变量
- swig for loop node.js, express, mongodb
- SWIG模板widhout节点-可以将其用作独立的js库
- Swig for loop with Nodejs, Express,
- Marko和Koajs:为什么我的异步片段渲染不起作用
- 如何使用controllerAs(与$scope相反)-实际上是Swig/Angular冲突
- 如何访问swig上的主Model对象
- Koajs的基本样板
- 在NodeJS中用Swig加载外部页面
- “不是found"在浏览器中的明文,当试图渲染模板与swig对koajs
- 覆盖单个标记的默认Swig模板过滤器
- 添加swig作为模板引擎到keystoneJS
- Swig模板列表项目编号
- 当与其他视图不在同一文件夹中时,Swig标记在索引文件中不起作用
- Swig模板:如何检查数组中是否存在值
- swig js filter "last"